Gewusst wie: Einfügen eines MenuStrip in ein MDI-Dropdownmenü (Windows Forms)
Aktualisiert: November 2007
In einigen Anwendungen kann sich die Art eines untergeordneten MDI-Fensters (Multiple-Document Interface) von der des übergeordneten MDI-Fensters unterscheiden. Beispielsweise könnte es sich bei dem übergeordneten MDI-Fenster um eine Tabellenkalkulation handeln und beim untergeordneten MDI-Fenster um ein Diagramm. In diesem Fall sollten Sie den Menüinhalt des übergeordneten MDI-Fensters mit dem Menüinhalt des untergeordneten MDI-Fensters aktualisieren, da verschiedene untergeordnete MDI-Fenster aktiviert werden.
In der folgenden Prozedur wird mithilfe der Eigenschaften IsMdiContainer, AllowMerge, MergeAction und MergeIndex eine Gruppe von Menüelementen aus dem Menü des untergeordneten MDI-Fensters in das Dropdownmenü des übergeordneten MDI-Fensters eingefügt. Durch Schließen des untergeordneten MDI-Fensters werden die eingefügten Menüelemente aus dem übergeordneten MDI-Fenster entfernt.
So fügen Sie einen MenuStrip in ein MDI-Dropdownmenü ein
Erstellen Sie ein Formular, und legen Sie seine IsMdiContainer-Eigenschaft auf true fest.
Fügen Sie einen MenuStrip zu Form1 hinzu, und legen Sie die AllowMerge-Eigenschaft des MenuStrip auf true fest.
Fügen Sie ein Menüelement der obersten Ebene zu Form1MenuStrip hinzu, und legen Sie dessen Text-Eigenschaft auf &File fest.
Fügen Sie drei Untermenüelemente dem &File-Menüelement hinzu, und legen Sie deren Text-Eigenschaften auf &Open, &Import from und E&xit fest.
Fügen Sie zwei Untermenüelemente dem &Import from-Untermenüelement hinzu, und legen Sie deren Text-Eigenschaften auf &Word und &Excel fest.
Fügen Sie dem Projekt ein Formular hinzu, dem Formular einen MenuStrip, und legen Sie die AllowMerge-Eigenschaft von Form2MenuStrip auf true fest.
Fügen Sie ein Menüelement der obersten Ebene zu Form2MenuStrip hinzu, und legen Sie dessen Text-Eigenschaft auf &File fest.
Fügen Sie dem &File-Menü von Form2 Untermenüelemente in der folgenden Reihenfolge hinzu: ein ToolStripSeparator, &Save, &Closeand Save und ein weiteres ToolStripSeparator.
Legen Sie die MergeAction-Eigenschaft und die MergeIndex-Eigenschaft der Form2-Menüelemente wie in der folgenden Tabelle gezeigt fest.
Form2-Menüelement
MergeAction-Wert
MergeIndex-Wert
Datei
MatchOnly
-1
Trennzeichen
Einfügen
2
Speichern
Einfügen
3
Speichern und schließen
Einfügen
4
Trennzeichen
Einfügen
5
Erstellen Sie einen Ereignishandler für das Click-Ereignis von &OpenToolStripMenuItem.
Geben Sie im Ereignishandler mit folgendem Codebeispiel vergleichbaren Code ein, um neue Instanzen von Form2 als untergeordnete MDI-Fenster von Form1 zu erstellen und anzuzeigen.
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 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(); }
Platzieren Sie mit folgendem Codebeispiel vergleichbaren Code im &OpenToolStripMenuItem, um den Ereignishandler zu registrieren.
Private Sub openToolStripMenuItem_Click(sender As Object, e As _ EventArgs) Handles openToolStripMenuItem.Click
this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
Kompilieren des Codes
Für dieses Beispiel ist Folgendes erforderlich:
Zwei Form-Steuerelemente mit den Namen Form1 und Form2.
Ein MenuStrip-Steuerelement mit dem Namen menuStrip1 auf Form1 und ein MenuStrip-Steuerelement mit dem Namen menuStrip2 auf Form2.
Verweise auf die System-Assembly und die System.Windows.Forms-Assembly.
Siehe auch
Aufgaben
Gewusst wie: Erstellen von übergeordneten MDI-Formularen
Gewusst wie: Erstellen von untergeordneten MDI-Formularen