Laden...
I
islander
myCSharp.de - Member
5
Themen
23
Beiträge
Letzte Aktivität
vor 2 Jahren
Dabei seit
13.07.2022
Erstellt vor 2 Jahren

Moin!

Läuft, bedankt for help!👍

mfg hans

Erstellt vor 2 Jahren

Moin!
Habe nachstehend ausgeführtes Problem:

Habe mit C# - WPA - xaml eine kleine Routine gefertigt - siehe anhängendes Bild.

Aus einer ComboBox können Unterichtsfächer angeklickt/selektiert und per Mausklick in eine TextBox eingetragen werden ...


 <ComboBox
            x:Name="DatenComo"
            Margin="4,60,4,60"
            Grid.Row="3" 
            Grid.Column="1" 
            Grid.ColumnSpan="2" 
           
           SelectionChanged="DatenComo_SelectionChanged"  
            
            IsReadOnly="True"
            >

            <ComboBoxItem>Mathe</ComboBoxItem>
            <ComboBoxItem>Deutsch</ComboBoxItem>
            <ComboBoxItem>Physik</ComboBoxItem>
            <ComboBoxItem>Chemie</ComboBoxItem>
            <ComboBoxItem>Biologie</ComboBoxItem>
            <ComboBoxItem>Religion</ComboBoxItem>
            <ComboBoxItem>Werte/Normen</ComboBoxItem>
            <ComboBoxItem>Sport</ComboBoxItem>
            <ComboBoxItem>Kunst</ComboBoxItem>
        
        </ComboBox>


 private void DatenComo_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
                object selectedItem = DatenComo.SelectedItem;
             
                             TeMo.Text = selectedItem.ToString();
 
            
        }

Der Text wird auch, wie vorgesehen, in die entsprechende TextBox eingetragen,
aber nicht nur das Unterichtsfach, in der gewünschten Form, sondern so:

System.Windows.Controls.ComboBoxItem: Werte/Normen

Was übersehe, mache ich falsch?
Jemand eine Idee?

mfg hans

Erstellt vor 2 Jahren

[...]

  
this.Width;  
  

[...]

Moin!
Genau das war/ist es!
👍
Danke an alle for help!

mfg hans

Erstellt vor 2 Jahren

[...]
Aber es wurde kein Objekt "Form1" initialisiert.

z.B.

  
Form1 myForm = new Form1();  
int aktuelleBreite = myForm.Width;  
  

namespace NewWidth_22_07_21
{
    public partial class Form1 : Form

            {
        public Form1()
        {
            InitializeComponent();

                 Form1 myForm = new Form1();
           int aktuelleBreite = myForm.Width;

           

        }

        private void button1_Click(object sender, EventArgs e)
        {
            Application.Exit(); // Programm beenden
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void Form1_Load_1(object sender, EventArgs e)
        {

        }
    }
}

Wird mit folgender Meldung abgelehnt: System.StackOverflowException

mfg hans

Erstellt vor 2 Jahren

Hallo,

der Code

int aktuelleBreite = Form1.Width;  

ist so korrekt (sofern Form1 ein initialisiertes Form-Objekt darstellt).

Moin!
»Form1« ist eine Form, mit der ich bereits arbeite ...


namespace MakeNewLabel_22_07_21
{
    public partial class Form1 : Form
     {

        public Form1()
        {
            InitializeComponent();

            // label.Top = (ClientRectangle.Height - label.Height) / 2;

            // 1.) int currentWidth = Form1.Width;

            // 2.)size myFormSize = form.Size;

            // 3.) int aktuelleBreite = Form1.Width;

        }


        private void button1_Click(object sender, EventArgs e)
        {
            Application.Exit(); // Programm beenden
        }
    }
}

Leider führte keiner der hier dankenwerterweise gemachten Hinweise zum Erfolg.

mfg hans

Erstellt vor 2 Jahren

[...]
PS: Googlen ist in solchen Fällen meistens schneller als einen Beitrag im Forum zu eröffnen. Mit der Google Suchanfrage "form width docs microsoft c#" ist die von mir verlinkte Seite, zumindest bei mir, das erste Ergebnis.

Moin!
Die Seite hatte ich auch deutsch übersetzt gegoogelt,
welcher ich entnehmen kann, wie man eine neue form erstellt
und sie ausgestaltet.

Ich suche einfach nur nach einer korrekten Formulierung für das Auslesen des Width-Wertes.

mfg hans

Erstellt vor 2 Jahren

Moin!
Kann man, in C#, im Code, die Breite einer vorhandenen Form abfragen?

So nach dem Motto:

int aktuelleBreite = Form1.Width; , oder ähnlich ?

Beispiele, die im Netz zu finden sind, zeigen, wie man Controls zur Laufzeit erstellt und ihnen eine Breite mitgibt.

mfg hans

Erstellt vor 2 Jahren

Moin!
Das kommt sicher als nächstes dran!

mfg hans

Erstellt vor 2 Jahren

Moin!
Vielen Dank, werde ich mir ansehen und durcharbeiten.

Ich bin dabei, diese Oberfläche, zur Laufzeit,
mit drei Schleifen zu erzeugen
die Elemente, in/mit den Schleifen zu positionieren
und ihnen alle nötigen Eigenschaften mitzugeben.

Wie schon gesagt, ohne großen Anspruch, nur als Fingerübung,
damit das Hirn etwas zu tun hat - und es macht Spaß.

Ich erlebe C# nun sehr Entwicklerfreundlich.

mfg hans

Erstellt vor 2 Jahren

Weiterhin kann man sich z.B. ein Windows Forms Projekt anlegen und
[...]

Moin!
Vielen Dank!
Bin im Moment weg von der Konsole und hin zur Form und
habe, als Fingerübung, damit begonnen, einen Oberfläche zusammenzuklöppeln,
die ich ähnlich, wie zu DOS-Zeiten, in der Konsole gestalten wollte ...

mfg hans