方法: MDI 子フォームを配置する

多くの場合、アプリケーションには、並べて表示、重ねて表示、整列など、開いている MDI 子フォームのレイアウトを制御するメニュー コマンドがあります。 LayoutMdi メソッドと MdiLayout 列挙値のいずれかを使用して、MDI 親フォーム内の子フォームを再配置することができます。

MdiLayout 列挙値は、子フォームを重ねて表示したり、水平方向または垂直方向に並べて表示したり、または MDI フォームの下部に沿って整列された子フォーム アイコンとして表示します。 これらの値にはそれぞれ、Windows コマンドの [重ねて表示][ウィンドウを左右に並べて表示][ウィンドウを上下に並べて表示][デスクトップを表示] と同じ効果があります。

多くの場合、これらのメソッドは、メニュー項目の Click イベントで呼び出されるイベント ハンドラーとして使用されます。 このようにして、テキスト "重ねて表示" を指定したメニュー項目に、MDI 子ウィンドウに対する目的の効果を持たせることができます。

子フォームを整列させるには

  1. メソッドで、LayoutMdi メソッドを使用して MDI 親フォームの MdiLayout 列挙体を設定します。 次に、MDI 親フォーム (MdiLayout.Cascade) の子ウィンドウに Form1 列挙値を使用する例を示します。 この列挙型は、 [重ねて表示] メニュー項目の 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 列挙値を変更することで、ウィンドウを並べて表示したり、ウィンドウをアイコンとして並べたりすることもできます。

  2. Visual C# を使用している場合は、フォームのコンストラクターに次のコードを追加して、イベント ハンドラーを登録します。

    this.button1.Click += new System.EventHandler(this.button1_Click);  
    

関連項目