[C#]Rückgabe von Daten aus einer 2. Form

happyfreak

Grünschnabel
Hallo,
ich habe eine Form_Main mit einer listbox und einem Add button. Nun hatte ich vor das beim Klick auf den Button die 2. Erstellte Form (Form_Inp) aufgeht in der ein string für die listbox abgefragt wird. Dort gibt es wider einen Add button, der dann den String aus der TextBox in die ListBox Übernehmen soll.

Nun stehe ich aber ein wenig auf dem Schlauch. Ich habe Bereits mit
Code:
private void btn_add_Click(object sender, EventArgs e)
{
        Form_Inp Input = new Form_Inp();
        Input.ShowDialog();
}
Die 2. Form gestartet was auch Wunderbar funktioniert.

Mein Problem ist nun wie ich den Wert wieder zurückgebe?
Ich habe danach schon lange gegoogled aber leider nichts gefunden.

Weiß jemand wie ich das Mache?
Ich kann mir das nur Vorstellen, das es eine globale Variable gibt, wobei dann
aber die Form_Main nicht weiß wann die Form_Inp geschlossen ist und wann sie den String abrufen muss. Kann ich dazu ein Event abfragen?
Oder muss ich das ganz anders lösen?

Vielen dank für antworten.

PS: Ich hoffe das Forum hier passt ;)
 
Zuletzt bearbeitet:
Hi

Da du mit ShowDialog die neue Form schon modal öffnest ist es am einfachsten, wenn du bei deiner "Form_Inp" ein Property oder eine Methode erzeugst, die dir neuen Daten liefern.
 
Hmm wie weiß ich aber dann im "Form_Mail" wann die "Form_Inp" geschlossen wurde?
Ich brauche doch wenn ich den "Add"-Button bei der "Form_Inp" klicke in der "Form_Main" eine Meldung wann das Fenster geschlossen wird und wann ich dann über die im "Form_Main" erzeugte instanz "Input" auf die Eigenschaft in der der Eingegebene Wert steht abzurufen? oder verstehe ich da was Falsch?
Denn wenn ich direkt hinter die Zeile "Input.ShowDialog();" weitere Befehle schreibe, dann werden die doch gleich mit ausgeführt. Oder wartet die "Form_Main" bist die "Form_Inp" fertig ist?
 
Ok Leute, der Knoten in meinem Kopf hat sich gerade beim Antwort schreiben selbst enhäddert ;)...

Ich hatte gedacht, das die Form_Main weiterausgeführt wird wenn ich die andere starte - da habe ich mich getäuscht...

Ich habs nun so wie du gesagt hat, ich habe eine Eigenschaft die ich vom Hauptprogramm aus aufrufe.

Nun Danke für die Hilfe ;)
 
Zurück