2017-02-06 7 views
1

私はさまざまなオプションのコンボボックスを持つForm1を持っています。 Form2は、ボタンクリックでForm1から開きます。フォーム上のラベルテキストを別のフォームのコンボボックスの値から設定するC#

Form2のラベルのテキストをForm1のcomboBoxの値に設定したいとします。私はVBAから来

はそう

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

を試してみました。しかし、これは動作しません。これを行う最も簡単な方法は何ですか?

+0

、あなたは – BugFinder

答えて

2

だけForm2のコンストラクタにコンボボックスのテキストを渡す:

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

のForm2を開くとき:Form1がグローバルにアクセス変数ではありません

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

をForm2のためにForm1のvaraibleを渡す必要がありますおそらく 'public Form2(string something):this(){label1.Text = something;}'がコンストラクタチェーン{InitializeComponent();}を避けるより良い方法です。 –

+0

完全に働きます! –

関連する問題