Autor Beitrag
Äfan
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 26.12.07 02:59 
Hi leude,

Ich steh wieder mal vor einem kleinen problem... wie schon gesagt, bin ich anfänger in C# und arbeite grad den 2. tag damit.

Ich habe 2 Forms... auf der Form1 ist ein Button, wenn man da drauf klickt, geht die Form2 auf, in der man seinen namen in eine textbox eingeben soll. Klickt man da jetzt auf OK, soll der inhalt der textbox von Form2 an Form1 übergeben werden, damit ich diesen namen verwenden kann. Leider bekomm ich das nicht hin. Hier mal mein bisheriger code:

Form1
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
     
private void button4_Click(object sender, EventArgs e)
{
    Form2 Form2 = new Form2();
  
    if (Form2.ShowDialog() == DialogResult.OK)
    {
         MessageBox.Show(Form2.strName);
    }
}


Form2
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
     
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        public string strName
        {
            get
            {
                return textBox1.Text;
            }
            
            set
            {
                textBox1.Text = value;   
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Hide();   
        }
    }


Es erscheint keine Meldung und den text aus der textbox bekomm ich auch net zurück.

Ich hoffe ihr könnt mir sagen wie ich richtig werte zwischen 2 fenster übergebe.

mfg
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 26.12.07 12:04 
Hallo!

Der Ansatz ist schon genau richtig :zustimm:

Du musst dafür sorgen, dass die Form2 auch das richtige DialogResult zurück liefert. Ersetze das Hide daher durch DialogResult = DialogResult.OK;
Bei einem Abbrechen-Button würdest Du dann DialogResult = DialogResult.Abort; benutzen. Beim Zuweisen von DialogResult schließt sich die Form automatisch.

Ach ja, Namen von Eigenschaften schreibt man eigentlich immer groß: Also "StrName" mit großem "S".

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Äfan
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 02.01.08 18:25 
Genau das suchte ich :)

Jetzt gehts :)

danke
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 02.01.08 18:34 
user profile iconChristian S. hat folgendes geschrieben:
Ach ja, Namen von Eigenschaften schreibt man eigentlich immer groß: Also "StrName" mit großem "S".
Nur ein kleines Detail, aber ich würde mal sagen: weder noch ;) . Ein einfaches "Name" ohne ungarische Notation sieht doch viel schöner aus :zwinker: .
Äfan
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 02.01.08 21:02 
user profile iconKhabarakh hat folgendes geschrieben:
user profile iconChristian S. hat folgendes geschrieben:
Ach ja, Namen von Eigenschaften schreibt man eigentlich immer groß: Also "StrName" mit großem "S".
Nur ein kleines Detail, aber ich würde mal sagen: weder noch ;) . Ein einfaches "Name" ohne ungarische Notation sieht doch viel schöner aus :zwinker: .


Naja ich denke irgendwann verliert man den überblick und vor dem Namen den typ anzugeben finde ich schon sinnvoll.

und Str oder str is denke ich sache der richtlinien die man z.B. in einer Firma gesetzt hat... da hat jede Firma ihre eigenen arten sowas zu bennenen... ich kenns wie gesagt so "typen klein und beim Namen immer den ersten buchstaben groß".

;)
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 02.01.08 21:24 
Guut, irgendwo ist alles Ansichtssache, aber sagen wirs mal so ;) :
Es werden wohl 95% der C#-Entwickler die ungarische Notation als absolut abstoßend empfinden. Und während sie noch einsehen können, dass die Benutzung von Apps Hungarian (s. Wikipedia) in älteren Sprachen und IDEs noch Sinn machen könnte, werden sie bei Namen wie arru8NumberList am Verstand des Autors zweifeln.
Und was sagt die Firma, die diese Abnormalität namens Systems Hungarian in die Welt gesetzt hat, zu der Sache? Laut den offiziellen .Net-Framework-Guidelines verbietet sie jegliche Form der ungarischen Notation.

Du hast die Wahl :zwinker: .
Äfan
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 03.01.08 03:01 
user profile iconKhabarakh hat folgendes geschrieben:
Guut, irgendwo ist alles Ansichtssache, aber sagen wirs mal so ;) :
Es werden wohl 95% der C#-Entwickler die ungarische Notation als absolut abstoßend empfinden. Und während sie noch einsehen können, dass die Benutzung von Apps Hungarian (s. Wikipedia) in älteren Sprachen und IDEs noch Sinn machen könnte, werden sie bei Namen wie arru8NumberList am Verstand des Autors zweifeln.
Und was sagt die Firma, die diese Abnormalität namens Systems Hungarian in die Welt gesetzt hat, zu der Sache? Laut den offiziellen .Net-Framework-Guidelines verbietet sie jegliche Form der ungarischen Notation.

Du hast die Wahl :zwinker: .


Also so wie ich dich und den MSDN artikel verstanden habe:

Richtig: Name
Falsch: strName

R: Counter
F: iCounter

R: Activated
F: bIsActivated

richtig ? Oda kannste mal paar beispiele machen.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 04.01.08 00:14 
user profile iconKhabarakh hat folgendes geschrieben:
user profile iconChristian S. hat folgendes geschrieben:
Ach ja, Namen von Eigenschaften schreibt man eigentlich immer groß: Also "StrName" mit großem "S".
Nur ein kleines Detail, aber ich würde mal sagen: weder noch ;) . Ein einfaches "Name" ohne ungarische Notation sieht doch viel schöner aus :zwinker: .
Ist hier IMHO aber eine schlechte Wahl, weil er von der Form-Klasse ableitet, die diese Eigenschaft bereits besitzt. Außerdem kann das "Str" ja auch "Straße" heißen *g*

Generell hast Du aber Recht, dass diese Präfixe nicht der allgemeinen Schreibweise entsprechen.

@Äfan: Ja, das scheinst Du richtig verstanden zu haben :zustimm:

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".