2

名前付きのフォームが親に設定されているMDIformアプリケーションがあります。MainForm新しいフォームを開くたびに、他のフォームを閉じています.3つの引数を取得するカスタムメソッドでそれを行いobjectますMDIparent. ほとんどの場合、フォームMainFormも自分から開きMDIparentますが、別の子フォームから子フォームを開く必要があるという状況があります。次のような新しいフォームを開くためのメソッドを呼び出すとします。

NewForm newForm = getMyForm(this, arg2, arg3)

私がMainForm親でもあるときは簡単です。しかし、私のメソッドを呼び出す方法、またはMDIparent他の子フォームから呼び出しているときに私のオブジェクトを渡す方法は?

4

2 に答える 2

5

現在のフォームを提供するForm.MdiParentプロパティを使用できます。MDI Parent

MainForm frm = this.MdiParent as MainForm;
if(frm != null)
    //form found
于 2013-01-29T12:32:50.073 に答える
1

あなたはのように試しましたか

あなたからMainForm

 var f = new NewForm() { MdiParent = this};
 f.Show();

Habib 氏の例として、methodfrom はMainFormでなければならないことに注意してくださいpublic

MainForm frm = this.MdiParent as MainForm;
if(frm != null)
{
  frm.Methods(this, arg2, arg3)
}
于 2013-01-29T12:34:38.547 に答える