Gewusst wie: Anhängen eines MenuStrip an ein übergeordnetes MDI-Fenster (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 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. Durch Schließen des untergeordneten MDI-Fensters wird das angefügte Menü aus dem übergeordneten MDI-Fenster entfernt.
So fügen Sie an ein übergeordnetes MDI-Fenster ein Menüelement an
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.
Legen Sie die Visible-Eigenschaft von Form1MenuStrip auf false 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 ein Untermenüelement dem &File-Menüelement hinzu, und legen Sie seine Text-Eigenschaft auf &Open 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 &Special fest.
Fügen Sie zwei Untermenüelemente dem &Special-Menüelement hinzu, und legen Sie deren Text-Eigenschaften auf Command&1 und Command&2 fest.
Legen Sie die MergeAction-Eigenschaft der Menüelemente &Special, Command&1 und Command&2 auf Append fest.
Erstellen Sie einen Ereignishandler für das Click-Ereignis von &NewToolStripMenuItem.
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.