多くの場合、アプリケーションには、開いている MDI 子フォームのレイアウトを制御するタイル、カスケード、配置などのアクションのメニュー コマンドがあります。 LayoutMdi メソッドをMdiLayout列挙値の 1 つで使用して、MDI 親フォームの子フォームを再配置できます。
MdiLayout列挙値は、子フォームをカスケード形式として、水平方向または垂直方向に並べて表示するか、MDI フォームの下部に沿って配置された子フォーム アイコンとして表示します。 これらの値は、Windows コマンド [ウィンドウを階段状に重ねる]、[ウィンドウを並べて表示]、[ウィンドウを重ねて表示]、および [デスクトップを表示] と同じ効果を持ちます。
多くの場合、これらのメソッドは、メニュー項目の Click イベントによって呼び出されるイベント ハンドラーとして使用されます。 この方法では、"Cascade Windows" というテキストを含むメニュー項目は、MDI 子ウィンドウに必要な効果を与えることができます。
子フォームを配置するには
メソッドでは、 LayoutMdi メソッドを使用して、MDI 親フォームの MdiLayout 列挙体を設定します。 次の例では、MDI 親フォーム (
Form1
) の子ウィンドウにMdiLayout.Cascade列挙値を使用します。 列挙は、Cascade Windows メニュー項目のClick イベントのイベント ハンドラー中にコードで使用されます。Protected Sub CascadeWindows_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.LayoutMdi(System.Windows.Forms.MdiLayout.Cascade) End Sub
protected void CascadeWindows_Click(object sender, System.EventArgs e){ this.LayoutMdi(System.Windows.Forms.MdiLayout.Cascade); }
注
また、使用する MdiLayout 列挙値を変更することで、ウィンドウをタイル化したり、ウィンドウをアイコンとして配置したりすることもできます。
Visual C# を使用している場合は、フォームのコンストラクターに次のコードを配置してイベント ハンドラーを登録します。
this.button1.Click += new System.EventHandler(this.button1_Click);
こちらも参照ください
- Multiple-Document インターフェイス (MDI) アプリケーション
- 方法: MDI 親フォーム を作成する
- 方法: MDI 子フォーム を作成する
- 方法: アクティブな MDI 子 を決定する
- 方法: アクティブな MDI 子 にデータを送信する
.NET Desktop feedback