これを行う1つの方法は、イベントを使用することです。
子フォームで、特定のユーザーインタラクション時に発生するイベントを宣言し、メインフォームでこのイベントを「サブスクライブ」します。
インスタンス化して子フォームと呼ぶときは、次のようにします。
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
frm.MyEvent += frm_MyEvent;
frm.ShowDialog();
frm.MyEvent -= frm_MyEvent;
}
private void frm_MyEvent(object sender, EventArgs e)
{
textBox1.Text = "whatever"; //just for demo purposes
}
子フォームで、イベントを宣言して発生させます。
public event EventHandler MyEvent;
private void button1_Click(object sender, EventArgs e)
{
if (MyEvent!= null)
MyEvent(this, EventArgs.Empty);
}
お役に立てれば