[C#] Von MainForm Text an SubForm übergeben

Drucken
( 0 Votes ) 
Hauptkategorie: Programmieren Kategorie: C#
Erstellt am 02.12.2011 Zuletzt aktualisiert am 03.02.2012 Geschrieben von Jonny132
Damit eine Form änderungen von der MainForm mitkriegt, muss Sie Schnittstellen anbieten.
Gerade für Anfänger ist es nicht leicht, die zusammenhänge zu sehen.

Hier ein Beispiel das verdeutlicht, wie man zB einen Text, den man in der Mainform in eine TextBox eingibt an eine weitere Form übergibt:
 
Zuerst instanzieren wir in der MainForm die UnterForm Global und zeigen Sie im Load-Event der MainForm an:

Form 1 Code

 public partial class Form1 : Form
 {
    Form2 form2 = new Form2();
       public Form1()
    {
       InitializeComponent();
    }
 
    private void Form1_Load(object sender, EventArgs e)
    {
      form2.Show();
    }
}

Danach fügen wir in der UnterForm eine public Methode ein, die eine MessageBox ausgiebt mit übergebenen Parameter.

Form 2 Code

 public partial class Form2 : Form
 {
   public Form2()
   {
     InitializeComponent();
   }
 
   public void DoMessageBox(string messageBoxText)
   {
     MessageBox.Show(messageBoxText);
   }
 }

Jetzt fügen wir zur MainForm noch eine TextBox ein und abbonieren das TextChanged-Ereignis. Jedes mal wenn der User nun einen Text in die TextBox eingibt wird die Methode der Unterform aufgerufen.

TextChanged Ereignis

 private void textBox1_TextChanged(object sender, EventArgs e)
 {
   form2.DoMessageBox(textBox1.Text);
 }

Sie sehen nun, wie die UnterForm eine MessageBox mit übergebenen TextBoxInhalt ausgibt.

    Veröffentlichen Sie ihre Kommentare ...