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

  1. Erstellen Sie ein Formular, und legen Sie seine IsMdiContainer-Eigenschaft auf true fest.

  2. Fügen Sie einen MenuStrip zu Form1 hinzu, und legen Sie die AllowMerge-Eigenschaft des MenuStrip auf true fest.

  3. Fügen Sie ein Menüelement der obersten Ebene zu Form1MenuStrip hinzu, und legen Sie dessen Text-Eigenschaft auf &File fest.

  4. 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.

  5. Fügen Sie zwei Untermenüelemente dem &Import from-Untermenüelement hinzu, und legen Sie deren Text-Eigenschaften auf &Word und &Excel fest.

  6. Fügen Sie dem Projekt ein Formular hinzu, dem Formular einen MenuStrip, und legen Sie die AllowMerge-Eigenschaft von Form2MenuStrip auf true fest.

  7. Fügen Sie ein Menüelement der obersten Ebene zu Form2MenuStrip hinzu, und legen Sie dessen Text-Eigenschaft auf &File fest.

  8. Fügen Sie dem &File-Menü von Form2 Untermenüelemente in der folgenden Reihenfolge hinzu: ein ToolStripSeparator, &Save, &Closeand Save und ein weiteres ToolStripSeparator.

  9. 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

  10. Erstellen Sie einen Ereignishandler für das Click-Ereignis von &OpenToolStripMenuItem.

  11. 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();
    }
    
  12. 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

Referenz

Übersicht über das MenuStrip-Steuerelement (Windows Forms)