方法 : MDI 子フォームを配置する
更新 : 2007 年 11 月
通常、アプリケーションには、[並べて表示]、[重ねて表示]、[整列] など、開いている MDI 子フォームを並べ替えるメニュー コマンドがあります。MdiLayout 列挙値に LayoutMdi メソッドを使用することで、MDI 親フォーム内で子フォームを再配置できます。
LayoutMdi メソッドは、MdiLayout の 4 つの異なる列挙値のうちの 1 つを使用できます。列挙値の値に応じて、子フォームが重ねて表示されたり、水平方向または垂直方向に並べて表示されたり、MDI フォームの下部に子フォームのアイコンとして配置されたりします。
通常、これらのメソッドは、メニュー項目の Click イベントによって呼び出されるイベント ハンドラとして使用されます。したがって、[ウィンドウを重ねて表示] メニュー項目を選択すると、MDI 子ウィンドウで指定どおりの処理が行われます。
子フォームを並べ替えるには
メソッド内で LayoutMdi メソッドを使用して、MDI 親フォームに MdiLayout 列挙値を設定します。MDI 親フォーム (Form1) の子ウィンドウに対して MdiLayout 列挙値の Cascade 設定を使用する例を次に示します。列挙値は、[ウィンドウを重ねて表示] メニュー項目の 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); }
メモ : LayoutMdi メソッドに渡す MdiLayout 列挙値を変更することによっても、ウィンドウを並べて表示したり、アイコンとして配置したりする機能を設定できます。
(Visual C#) フォームのコンストラクタに次のコードを挿入してイベント ハンドラを登録します。
this.button1.Click += new System.EventHandler(this.button1_Click);
参照
処理手順
方法 : アクティブな MDI 子フォームにデータを送信する