私はMDIフォームを持っています。この中にMDIフォームいくつかの子フォームを開くことができます:
これはMainForm
内にあります
Form1 f1 = new Form1;
f1.MdiParent = this; //this refers to MainForm (parent)
f1.Show();
これは期待どおりに動作します!
しかし、今、私が子フォーム(Form1-> f1)にいる間、MainForm
の子として別のフォームを開きたいのですが、this
キーワードを使用すると、f1
。 f1
内で新しいフォームを開き、そのMdiParent
をMainForm
に設定するにはどうすればよいですか?
最初の子の親フォームを次から割り当ててみてください:
Form2 f2 = new Form2;
f2.MdiParent = this.ParentForm; //this refers to f1's parent, the MainForm
f2.Show();
お役に立てれば。
2番目のフォームがf2であると仮定します。次に、フォームf1のコードで、新しいフォームf2をMDI親フォームに作成します。
Form2 f2 = new Form2;
f2.MdiParent = this.MdiParent;
f2.Show();
さて、リストされた「解決策」と議論しないでください...しかし、私がリクエストを正しく理解していて、上記の解決策を試してもうまくいかなかった場合、私は次のようにします...
Form2 f2 = new Form2();
f2.MdiParent = MDIParent1.ActiveForm;
f2.Show();