Share via


方法 : MenuStrip を使用して MDI ウィンドウの一覧を作成する (Windows フォーム)

マルチ ドキュメント インターフェイス (MDI: Multiple Document Interface) を使用してアプリケーションを作成すると、複数のドキュメントを同時に開いて、ドキュメント間で内容のコピーおよび貼り付けを行うことができます。

ここでは、親フォームの [ウィンドウ] メニューに、すべてのアクティブな子フォームの一覧を作成する方法について説明します。

MDI ウィンドウの一覧を MenuStrip 上に作成するには

  1. フォームを作成し、その IsMdiContainer プロパティを true に設定します。

  2. フォームに MenuStrip を追加します。

  3. 2 つのトップレベル メニュー項目を MenuStrip に追加し、その Text プロパティをそれぞれ &File と &Window に設定します。

  4. サブメニュー項目を &File メニュー項目に追加し、その Text プロパティを &Open に設定します。

  5. MenuStripMdiWindowListItem プロパティを &Window ToolStripMenuItem に設定します。

  6. プロジェクトにフォームを追加し、このフォームに必用なコントロール (別の MenuStrip など) を追加します。

  7. &New ToolStripMenuItemClick イベントのイベント ハンドラーを作成します。

  8. このイベント ハンドラー内に次のようなコードを挿入し、Form1 の MDI 子フォームとして Form2 の新しいインスタンスを作成および表示します。

    Private Sub openToolStripMenuItem_Click(ByVal sender As _
    System.Object, ByVal e As System.EventArgs) Handles _
    openToolStripMenuItem.Click
        Dim NewMDIChild As New Form2()
        'Set the parent form of the child window.
            NewMDIChild.MdiParent = Me
        'Display the new form.
            NewMDIChild.Show()
    End Sub
    

    [C#]

    private void newToolStripMenuItem_Click(object sender, EventArgs e)
    {
        Form2 newMDIChild = new Form2();
        // Set the parent form of the child window.
            newMDIChild.MdiParent = this;
        // Display the new form.
            newMDIChild.Show();
    }
    
  9. &New ToolStripMenuItem 内に次のようなコードを配置してイベント ハンドラーを登録します。

    Private Sub newToolStripMenuItem_Click(sender As Object, e As _
    EventArgs) Handles newToolStripMenuItem.Click
    
    this.newToolStripMenuItem.Click += new System.EventHandler(this.newToolStripMenuItem_Click);
    

コードのコンパイル

この例で必要な要素は次のとおりです。

  • Form1 と Form2 という名前の 2 つの Form コントロール。

  • menuStrip1 という名前の Form1 の MenuStrip コントロール、および menuStrip2 という名前の Form2 の MenuStrip コントロール。

  • System アセンブリおよび System.Windows.Forms アセンブリへの参照。

参照

処理手順

方法 : MDI 親フォームを作成する

方法 : MDI 子フォームを作成する

その他の技術情報

MenuStrip コントロール (Windows フォーム)