|
# 書いてたら先を越されたけど
案1.Form2 が Form1 の参照を持つようにする。
# これが Jitta さんいうところの「お互いがお互いを知っているような作り」
案2.Form2 に自前のイベントを用意する
補足すると…
・Form2 に自前のイベントを用意する。
public event EventHandler Hoge;
protected void OnHoge(EventArgs e)
{
if (this.Hoge != null)
{
this.Hoge.Invoke(this, e);
}
}
・Form1 に、それを処理するメソッドを準備しておく
void Form2_Hoge(object sender, EventArgs e)
{
// やりたいこと
}
・Form1 から Form2 を開く際に、イベントと処理を関連づける。
Form2.Hoge += new System.EventHandler(Form2_Hoge);
・Form2 の ToolStripMenuItem_Click で、そのイベントを発生させる。
void ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.OnHoge(e);
}
|