方法: MenuStrip を MDI ドロップダウン メニュー (Windows フォーム) に挿入します。How to: Insert a MenuStrip into an MDI Drop-Down Menu (Windows Forms)

アプリケーションの中には、マルチ ドキュメント インターフェイス (MDI) 子ウィンドウの種類が MDI 親ウィンドウと異なるものがあります。In some applications, the kind of a multiple-document interface (MDI) child window can be different from the MDI parent window. たとえば、MDI 親がスプレッドシートで、MDI 子がグラフの場合があります。For example, the MDI parent might be a spreadsheet, and the MDI child might be a chart. そのような場合は、異なる種類の MDI 子ウィンドウがアクティブになったときに、MDI 子メニューの内容で MDI 親メニューの内容を更新する必要があります。In that case, you want to update the contents of the MDI parent's menu with the contents of the MDI child's menu as MDI child windows of different kinds are activated.

次の手順を使用して、 IsMdiContainerAllowMergeMergeAction、およびMergeIndexMDI 子メニューからメニュー項目のグループを MDI 親メニューのドロップダウン部分に挿入するプロパティ。The following procedure uses the IsMdiContainer, AllowMerge, MergeAction, and MergeIndex properties to insert a group of menu items from the MDI child menu into the drop-down part of the MDI parent menu. MDI 子ウィンドウを閉じると、挿入されたメニュー項目が MDI 親から削除します。Closing the MDI child window removes the inserted menu items from the MDI parent.

MDI ドロップダウン メニューに MenuStrip を挿入するにはTo insert a MenuStrip into an MDI drop-down menu

  1. フォームを作成し、その IsMdiContainer プロパティを true に設定します。Create a form and set its IsMdiContainer property to true.

  2. MenuStripForm1 に追加し、MenuStripAllowMerge プロパティを true に設定します。Add a MenuStrip to Form1 and set the AllowMerge property of the MenuStrip to true.

  3. トップレベル メニュー項目を Form1MenuStrip に追加し、その Text プロパティを「&File」に設定しますす。Add a top-level menu item to the Form1MenuStrip and set its Text property to &File.

  4. 3 つのサブメニュー項目を追加、&Fileメニュー項目とそのTextプロパティを&Open&Import fromE&xitAdd three submenu items to the &File menu item and set their Text properties to &Open, &Import from, and E&xit.

  5. 2 つのサブメニュー項目を追加、&Import fromサブメニュー項目とそのTextプロパティを&Word&Excelします。Add two submenu items to the &Import from submenu item and set their Text properties to &Word and &Excel.

  6. プロジェクトにフォームを追加し、フォームに MenuStrip を追加し、Form2MenuStripAllowMerge のプロパティを true に設定します。Add a form to the project, add a MenuStrip to the form, and set the AllowMerge property of the Form2MenuStrip to true.

  7. トップレベル メニュー項目を Form2MenuStrip に追加し、その Text プロパティを「&File」に設定しますす。Add a top-level menu item to the Form2MenuStrip and set its Text property to &File.

  8. サブメニュー項目を追加、&FileのメニューForm2次の順序で: ToolStripSeparator&SaveSave and &Close、もう 1 つとToolStripSeparatorします。Add submenu items to the &File menu of Form2 in the following order: a ToolStripSeparator, &Save, Save and &Close, and another ToolStripSeparator.

  9. 設定、MergeActionMergeIndexのプロパティ、Form2メニュー項目を次の表に示すようにします。Set the MergeAction and MergeIndex properties of the Form2 menu items as shown in the following table.

    Form2 のメニュー項目Form2 menu item MergeAction 値MergeAction value MergeIndex 値MergeIndex value
    ファイルFile MatchOnlyMatchOnly -1-1
    区切り記号Separator 挿入Insert 22
    保存Save 挿入Insert 33
    保存して閉じるSave and Close 挿入Insert 44
    区切り記号Separator 挿入Insert 55
  10. ToolStripMenuItem&OpenClick イベントにイベント ハンドラーを作成します。Create an event handler for the Click event of the &OpenToolStripMenuItem.

  11. このイベント ハンドラー内に次のコード例のようなコードを挿入し、Form2 の新規インスタンスを Form1 の MDI 子フォームとして作成し、表示します。Within the event handler, insert code similar to the following code example to create and display new instances of Form2 as MDI children of Form1.

    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  
    
    private void openToolStripMenuItem_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();  
    }  
    
  12. &OpenToolStripMenuItem に次のコード例のようなコードを配置し、イベント ハンドラーを登録します。Place code similar to the following code example in the &OpenToolStripMenuItem to register the event handler.

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

コードのコンパイルCompiling the Code

この例で必要な要素は次のとおりです。This example requires:

  • Form1Form2 という名前の 2 つの Form コントロール。Two Form controls named Form1 and Form2.

  • Form1 上の menuStrip1 という名前の MenuStrip コントロールと、Form2 上の menuStrip2 という名前の MenuStrip コントロール。A MenuStrip control on Form1 named menuStrip1, and a MenuStrip control on Form2 named menuStrip2.

  • System アセンブリおよび System.Windows.Forms アセンブリへの参照。References to the System and System.Windows.Forms assemblies.

関連項目See also