Gewusst wie: Anhängen eines MenuStrip an ein übergeordnetes MDI-Fenster (Windows Forms)

In einigen Anwendungen kann sich die Art eines untergeordneten MDI-Fensters (Multiple-Document Interface) von der des übergeordneten MDI-Fensters unterscheiden. Beispielsweise könnte das übergeordnete MDI-Fenster eine Kalkulationstabelle und das untergeordnete MDI-Fenster ein Diagramm enthalten. In diesem Fall möchten Sie möglicherweise 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 werden.

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

Siehe auch MDI-Anwendungen (Multiple Document Interface).

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

  1. Erstellen Sie ein Formular, und legen Sie dessen 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. Legen Sie die Visible-Eigenschaft von Form1MenuStrip auf false fest.

  4. Fügen Sie ein Menüelement der obersten Ebene zu Form1MenuStrip hinzu, und legen Sie dessen 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 fest.

  6. Fügen Sie dem Projekt ein Formular hinzu, fügen Sie dem Formular ein MenuStrip hinzu, und legen 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 &Special fest.

  8. Fügen Sie dem &Special-Menüelement zwei Untermenüelemente hinzu, und legen Sie deren Text-Eigenschaften auf Command&1 bzw. Command&2 fest.

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

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

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

Kompilieren des Codes

Für dieses Beispiel benötigen Sie Folgendes:

  • Zwei Form-Steuerelemente namens Form1 und Form2.

  • Ein MenuStrip-Steuerelement auf Form1, das den Namen menuStrip1 hat, und ein MenuStrip-Steuerelement auf Form2, das den Namen menuStrip2 hat.

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