Export (0) Print
Expand All

How to: Insert a MenuStrip into an MDI Drop-Down Menu (Windows Forms)

In some applications, the kind of a multiple-document interface (MDI) child window can be different from the MDI parent window. For example, the MDI parent might be a spreadsheet, and the MDI child might be a chart. 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.

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. Closing the MDI child window removes the inserted menu items from the MDI parent.

To insert a MenuStrip into an MDI drop-down menu

  1. Create a form and set its IsMdiContainer property to true.

  2. Add a MenuStrip to Form1 and set the AllowMerge property of the MenuStrip to true.

  3. Add a top-level menu item to the Form1 MenuStrip and set its Text property to &File.

  4. Add three submenu items to the &File menu item and set their Text properties to &Open, &Import from, and E&xit.

  5. Add two submenu items to the &Import from submenu item and set their Text properties to &Word and &Excel.

  6. Add a form to the project, add a MenuStrip to the form, and set the AllowMerge property of the Form2 MenuStrip to true.

  7. Add a top-level menu item to the Form2 MenuStrip and set its Text property to &File.

  8. Add submenu items to the &File menu of Form2 in the following order: a ToolStripSeparator, &Save, &Close and Save, and another ToolStripSeparator.

  9. Set the MergeAction and MergeIndex properties of the Form2 menu items as shown in the following table.

    Form2 menu item

    MergeAction value

    MergeIndex value

    File

    MatchOnly

    -1

    Separator

    Insert

    2

    Save

    Insert

    3

    Save and Close

    Insert

    4

    Separator

    Insert

    5

  10. Create an event handler for the Click event of the &Open ToolStripMenuItem.

  11. 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 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. Place code similar to the following code example in the &Open ToolStripMenuItem to register the event handler.

    this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
    

This example requires:

Show:
© 2014 Microsoft