子フォームから親フォームの関数を呼び出す方法

  • 投稿日:
  • by
  • カテゴリ:

アプリケーションを作っていると、フォームをいくつか作らなくてはならなくなりますが、親のフォームがあって、そのフォームの関数を子のフォームから呼び出す必要が出てきます。

そんな時には、以下の方法でできるそうです。

仮定


Form1が親フォーム、Form2が子フォーム

親フォームに関数を定義する


まずは親フォームに呼び出したい関数を定義します。

public void hoge()
{

}



次にForm1からForm2を呼び出す部分を定義


Form2 frm2 = new Form2();
frm2.Owner = this; ///現在の親フォームを指定する
frm2.Show();

Ownerプロパティを設定するのがポイントらしい。

子フォームから親フォームを呼び出す。


最終的には、以下のように子フォームから呼び出す。

((Form1) this.Owner).hoge();

となる。

なるほどね~~


勉強になります!(^^;)