Entwickler-Ecke
WinForms - Wert eines Fensters übergeben
Delete - Mi 26.12.07 02:59
Titel: Wert eines Fensters übergeben
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
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
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. - 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
Delete - Mi 02.01.08 18:25
Genau das suchte ich :)
Jetzt gehts :)
danke
Kha - Mi 02.01.08 18:34
Christian 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: .
Delete - Mi 02.01.08 21:02
Khabarakh hat folgendes geschrieben: |
Christian 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 - 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 [
http://msdn2.microsoft.com/en-us/library/ms229045.aspx] verbietet sie jegliche Form der ungarischen Notation.
Du hast die Wahl :zwinker: .
Delete - Do 03.01.08 03:01
Khabarakh 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 [http://msdn2.microsoft.com/en-us/library/ms229045.aspx] 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. - Fr 04.01.08 00:14
Khabarakh hat folgendes geschrieben: |
Christian 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:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!