Entwickler-Ecke

WinForms - Textbox in Form2 füllen


boyman - Mi 23.03.11 19:22
Titel: Textbox in Form2 füllen
Hallo,

ich bin neu hier, ich habe dieses Forum nach stundenlangen Googlen gefunden.
Ich habe auch direkt meine erste Frage.

Wie ich per Buttonklick in From1, Form2 öffne und dabei noch einen String übergebe weiß ich.

Das mache ich folgendermasen:

C#-Quelltext
1:
2:
3:
Form2 frm2 = new Form2();
frm2.TextToShow = "lol";
frm2.Show();


und in Form2 sieht das so aus:

C#-Quelltext
1:
2:
3:
4:
private void Form2_Load(object sender, EventArgs e)
        {
            textbox.text = _TextToShow;
        }


Die textbox füllt sich auch mit den entsprechenden wert.

Jetzt ist mein Problem,
Wenn ich beide Formen geöffnet habe und ich einen neuen wert in die Textbox der Form2 schreiben möchte bekomm ich es einfach nicht hin.
Ich weiß das das ich eine Methode verwenden muss, die dann von From1 aufgerufen wird.

Wenn das nacher alles funktioniert, wird Form2 als Usercontrol eingebunden.


jaenicke - Mi 23.03.11 20:00

Wenn du die Methode public deklariierst, sollte das doch bereits klappen.

Du musst dir natürlich auch in einer Variable das erzeugte Formular merken.

Hast du das schon so versucht? Und wenn ja wie und was ging nicht?


Oppi35 - Mi 23.03.11 23:24

Hallo Boyman,

m.E. solltest Du eine neue Methode in der Codebehind Datei in Form2 definieren. Etwa so:


C#-Quelltext
1:
2:
3:
4:
public void SetText(string text)
{
   textbox.text=text;
}


Aus Form1 kannst Du dann die Textbox neu setzen:


C#-Quelltext
1:
form2.SetText("lol");                    


Die Form2_Load Methode würde ich private lassen.

Gruß
Frank


jaenicke - Mi 23.03.11 23:39

user profile iconOppi35 hat folgendes geschrieben Zum zitierten Posting springen:
Die Form2_Load Methode würde ich private lassen.
Ja, natürlich, so war das auch gemeint, eine neue Methode, die den Text übergeben bekommt, klar.
Ich meinte das in Bezug darauf:
user profile iconboyman hat folgendes geschrieben Zum zitierten Posting springen:
Ich weiß das das ich eine Methode verwenden muss, die dann von From1 aufgerufen wird.