Freigeben über


Vorgehensweise: Anfügen eines MenuStrip-Elements an ein übergeordnetes MDI-Fenster (Windows Forms)

In einigen Anwendungen kann sich die Art eines untergeordneten Fensters für eine Schnittstelle für mehrere Dokumente (Multiple-Document Interface, MDI) von der des übergeordneten MDI-Fensters unterscheiden. Beispielsweise könnte das übergeordnete MDI-Fenster eine Tabellenkalkulation und das untergeordnete MDI-Fenster ein Diagramm enthalten. In diesem Fall möchten Sie den Inhalt des Menüs des übergeordneten MDI-Fensters mit dem Inhalt des Menüs des untergeordneten MDI-Fensters aktualisieren, da untergeordnete MDI-Fenster unterschiedlicher Arten aktiviert sind.

Im folgenden Verfahren werden die Eigenschaften IsMdiContainer, AllowMerge, MergeAction und MergeIndex verwendet, um das untergeordnete MDI-Menü an das übergeordnete MDI-Menü anzuhängen. Durch das Schließen des untergeordneten MDI-Fensters wird das angefügte Menü aus dem übergeordneten MDI-Fenster entfernt.

Siehe auchMultiple-Document-Schnittstellenanwendungen (MDI).

So fügen Sie ein Menüelement an ein übergeordnetes MDI-Element an

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

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

  3. Legen Sie die Visible-Eigenschaft des Form1MenuStrip auf false fest.

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

  5. Fügen Sie dem &File Menüelement ein Untermenüelement hinzu, und legen Sie dessen Text Eigenschaft auf &Open.

  6. Fügen Sie dem Projekt ein Formular hinzu. Fügen Sie dem Formular anschließend eine MenuStrip-Klasse hinzu, 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 die entsprechende Text-Eigenschaft auf &Special fest.

  8. Fügen Sie dem &Special Menüelement zwei Untermenüelemente hinzu und setzen Sie die Eigenschaften ihrer Untermenüelemente auf Text und Command&1.

  9. Legen Sie die MergeAction Eigenschaft der &Special, Command&1, und Command&2 Menüelemente auf Append.

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

  11. Fügen Sie im Ereignishandler Code ein, ähnlich wie im folgenden Codebeispiel, um neue Instanzen von Form2 als MDI-Kinder von Form1 zu erstellen und anzeigen.

    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. Fügen Sie Code, der dem folgenden Codebeispiel ähnelt, in &OpenToolStripMenuItem ein, 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);
    

Code kompilieren

In diesem Beispiel ist Folgendes erforderlich:

  • Zwei Form-Steuerelemente namens Form1 und Form2

  • Ein MenuStrip-Steuerelement für Form1 mit dem Namen menuStrip1 sowie ein MenuStrip-Steuerelement für Form2 mit dem Namen menuStrip2

  • Verweise auf die Assemblys System und System.Windows.Forms