コントロールを非公開にして、作成したフォームからのみアクセスできるようにします。フォームの参照を使用して、フォームにアクセスします。(各フォームで)ボタンを押すだけで、フォームからフォームにデータを渡す方法を簡単に説明します。
class Form1
{
Form2 f2;
private void buttonOpenForm2_Click(object sender, EventArgs e)
{
f2 = new Form2(this);
f2.Show();
}
private void SayHiOnForm2_Click(object sender, EventArgs e)
{
if(f2 != null)
f2.DataFromForm2("Hello from form 1.");
else
MessageBox.Show("Form2 is not yet opened.");
}
public void DataFromForm2(stirng message)
{
this.label1.Text = message;
}
}
//on form2:
class Form2
{
Form1 f1;
public Form2(Form1 _f1)
{
InitilaizeComponent();
this.f1 = _f1;
}
private void SayHiOnForm1_Click(object sender, EventArgs e)
{
f1.DataFromForm2("Hello from form 2.");
}
public void DataFromForm1(stirng message)
{
this.label1.Text = message;
}
}
必要に応じて、イベントを使用することもできます。それはもっとニートですが、これもうまくいくでしょう。