How to: Create an MDI Window List with MenuStrip (Windows Forms)
Use the multiple-document interface (MDI) to create applications that can open several documents at the same time and copy and paste content from one document to the other.
This procedure shows you how to create a list of all the active child forms on the parent's Window menu.
To create an MDI Window list on a MenuStrip
Create a form and set its IsMdiContainer property to true.
Add a MenuStrip to the form.
Add two top-level menu items to the MenuStrip and set their Text properties to &File and &Window.
Add a submenu item to the &File menu item and set its Text property to &Open.
Set the MdiWindowListItem property of the MenuStrip to the &WindowToolStripMenuItem.
Add a form to the project and add the control you want to it, such as another MenuStrip.
Create an event handler for the Click event of the &NewToolStripMenuItem.
Within the event handler, insert code similar to the following 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
[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(); }
Place code like the following in the &NewToolStripMenuItem to register the event handler.
Private Sub newToolStripMenuItem_Click(sender As Object, e As _ EventArgs) Handles newToolStripMenuItem.Click
this.newToolStripMenuItem.Click += new System.EventHandler(this.newToolStripMenuItem_Click);
Compiling the Code
This example requires:
Two Form controls named Form1 and Form2.
A MenuStrip control on Form1 named menuStrip1, and a MenuStrip control on Form2 named menuStrip2.
References to the System and System.Windows.Forms assemblies.
See Also
Tasks
How to: Create MDI Parent Forms
How to: Create MDI Child Forms