親フォーム内に子フォームの表示 | C#
- 2015.06.08
- C# windows
- .NET, C#, Visual Studio

目次
MDIアプリケーション
Multiple Document Interface (マルチ・ドキュメント・インタフェース)と言うそうです。
http://ja.wikipedia.org/wiki/Multiple_Document_Interface
作成中のプログラムにて使うことがあったのでメモ。
参考にさせて頂いたサイト:http://dobon.net/vb/dotnet/form/mdiapplication.html
環境
Visual Studio 2013
.NET Framework 4.0
C#
手順
1.親となるフォームを作成します。(MainFormとします)
親フォーム(MainForm)の「IsMDIContainer」プロパティをTrueに設定。
2.子になるフォームを作成します。(ChildrenFormとします)
3.イベントに処理追加
今回は親フォームのメニューから子フォームを呼び出すので、Menu.Clickイベントに追加。
// 子フォームのインスタンス ChildrenForm cdnForm = new ChildrenForm(); // 親フォームの子として設定 cdnForm.MdiParent = this; // 子フォームの表示 cdnForm.Show();
フォーム表示時に最大化する
子フォームのFormWindowStateプロパティを設定にて完了!・・・と思っていたら、上手く動かず。
子フォームは最大化されたように認識されて、最小化、最大化、閉じるボタンは親の下に揃っているが
肝心なレイアウトが最大化されていない・・・。
やむを得ず、子フォームを表示した後に最大化することにしました。
// 子フォームのインスタンス ChildrenForm cdnForm = new ChildrenForm(); // 親フォームの子として設定 cdnForm.MdiParent = this; // 子フォームの表示 cdnForm.Show(); // フォーム最大化 cdnForm.WindowState = FormWindowState.Maximized;
何か他にある気がするけど、、、今回は以上。
- 前の記事
【Q】iPhone&Androidアプリ 攻略法 TERTIARY ステージ5 2015.05.25
- 次の記事
windowsアプリでSQLiteの使用 | C# Visual Studio 2013 2015.06.18