2017-02-06 2 views
1

Ich habe Form1, die eine ComboBox mit verschiedenen Optionen hat. Form2 wird von Form1 aus über einen Klick geöffnet.Legen Sie Beschriftungstext in einem Formular aus dem Wert einer Combobox auf einem anderen Formular C#

Ich möchte eine Beschriftung auf Form2 seinen Text auf den Wert der ComboBox auf Form1 festgelegt haben.

ich von VBA kommen versucht, so

this.label1.Text = Form1.comboBox1.Text; 

Aber das funktioniert nicht. Was ist der einfachste Weg, dies zu tun?

+0

Form1 wird nicht global zugänglich variabel sein, müssen Sie die form1 varaible passieren – BugFinder

Antwort

2

Nur Combobox Text Konstruktor Form2 passieren:

public Form2(string something) 
{ 
    InitializeComponent(); 
    this.label1.Text = something; // initialize label text 
} 

Beim Öffnen Form2:

using(var form2 = new Form2(comboBox1.Text)) // pass 
{ 
    form2.ShowDialog(); 
} 
+1

form2 Wahrscheinlich, Konstruktor Verkettung dh 'public Form2 (string etwas): this() {label1.Text = etwas;}' ist ein besserer Weg zu vermeiden 'InitializeComponent();' Call –

+0

Funktioniert perfekt, danke! –

Verwandte Themen