Rückgabe von Textboxeingabe aus Unterformular an übergeordnetes Formular



  • Hallo, habe ein Hauptformular. Von diesem Hauptformular öffne ich ein weiteres Formular. Dort mache ich eine Eingabe in einer Textbox. Nach Ende der Eingabe schließe ich das Formular und bin wieder beim Hauptformular. Wie bekomme ich die Eingabe der Textbox vom Unterformular ins Hauptformular? Gibt es da so etwas wie die Rückgabe wie Parent oder so etwas (fertige Methode von C#)? Oder über Konstruktor?



  • du könntest den wert via referenz an den konstruktor über geben

    //in parant
    
    class ChildForm{
    
     string m_dat; 
    public Childform(string dat){
     m_dat=dat;
     }
    
     public void set(string text){
      m_dat=text;
    }
    };
    
    string x= new string();
    
    ChildForm y= new ChildForm(x);
    

    weis nich ob es so funktioniert evtl. musst man noch das schüsselwort "ref" verwenden.



  • Gängig ist eigentlich, dem Unterformular eine Property "Result" (o.ä.) zu spendieren, welche das Ergebnis nach dem Schließen des Dialogs enthält. Zum Beispiel:

    class ChildForm
    {
        private string result_;
        public string Result { get { return result_; } }
    
        private void buttonOk_Click(...)
        {
            result_ = ...;
            DialogResult = DialogResult.Ok;
            Close();
        }
    };
    
    ChildForm ch = new ChildForm();
    if (ch.ShowDialog() == DialogResult.Ok) {
        // auswerten
        do_something(ch.Result);
    }
    

Anmelden zum Antworten