Exemplarische Vorgehensweise: Erstellen eines MDI-Formulars mit der Zusammenführungsfunktion für Menüs und ToolStrip-Steuerelemente

Der System.Windows.Forms-Namespace unterstützt MDI-Anwendungen (Multiple Document Interface, Schnittstelle für mehrere Dokumente), und das MenuStrip-Steuerelement unterstützt das Zusammenführen von Menüs. MDI-Formulare können auch ToolStrip-Steuerelemente enthalten.

Diese exemplarische Vorgehensweise zeigt, wie Sie ToolStripPanel-Steuerelemente mit einem MDI-Formular verwenden. Das Formular unterstützt auch Zusammenführen von Menüs mit untergeordneten Menüs. Die folgenden Aufgaben werden in dieser exemplarischen Vorgehensweise veranschaulicht:

  • Erstellen eines Windows Forms-Projekts.

  • Erstellen des Hauptmenüs für Ihr Formular. Der tatsächliche Name des Menüs variiert.

  • Hinzufügen des ToolStripPanel-Steuerelements zur Toolbox.

  • Erstellen eines untergeordneten Formulars.

  • Anordnen von ToolStripPanel-Steuerelementen gemäß Z-Reihenfolge.

Wenn Sie fertig sind, haben Sie ein MDI-Formular, das die Menüzusammenführung und verschiebbare ToolStrip-Steuerelemente unterstützt.

Informationen zum Kopieren des Codes in diesem Thema in Form einer einzelnen Auflistung finden Sie unter Vorgehensweise: Erstellen eines MDI-Formulars mit Menüzusammenführung und ToolStrip-Steuerelementen.

Voraussetzungen

Für diese exemplarische Vorgehensweise benötigen Sie Visual Studio.

Erstellen des Projekts

  1. Erstellen Sie in Visual Studio ein Windows-Anwendungsprojekt namens MdiForm (Datei>Neu>Projekt>Visual C# oder Visual Basic>Klassischer Desktop>Windows Forms-Anwendung).

  2. Wählen Sie das Formular im Windows Forms-Designer aus.

  3. Legen Sie im Eigenschaftenfenster den Wert von IsMdiContainer auf true fest.

Erstellen des Hauptmenüs

Das übergeordnete MDI-Formular enthält das Hauptmenü. Das Hauptmenü verfügt über ein Menüelement namens Fenster. Mithilfe des Menüelements Fenster können Sie untergeordnete Formulare erstellen. Menüelemente aus untergeordneten Formularen werden im Hauptmenü zusammengeführt.

  1. Ziehen Sie aus der Toolbox ein MenuStrip-Steuerelement auf das Formular.

  2. Fügen Sie dem MenuStrip-Steuerelement ein ToolStripMenuItem hinzu, und nennen Sie es Fenster.

  3. Wählen Sie das MenuStrip-Steuerelement.

  4. Legen Sie im Eigenschaftenfenster den Wert der MdiWindowListItem-Eigenschaft auf ToolStripMenuItem1 fest.

  5. Fügen Sie dem Menüelement Fenster ein Unterelement hinzu, und nennen Sie es Neu.

  6. Klicken Sie im Fenster Eigenschaften auf Ereignisse.

  7. Doppelklicken Sie auf das Click-Ereignis.

    Der Windows Forms-Designer generiert einen Ereignishandler für das Click-Ereignis.

  8. Fügen Sie den folgenden Code in den Ereignishandler ein.

    // This method creates a new ChildForm instance
    // and attaches it to the MDI parent form.
    private void newToolStripMenuItem_Click(object sender, EventArgs e)
    {
        ChildForm f = new ChildForm();
        f.MdiParent = this;
        f.Text = "Form - " + this.MdiChildren.Length.ToString();
        f.Show();
    }
    
    ' This method creates a new ChildForm instance 
    ' and attaches it to the MDI parent form.
     Private Sub newToolStripMenuItem_Click( _
     ByVal sender As Object, _
     ByVal e As EventArgs) _
     Handles newToolStripMenuItem.Click
    
         Dim f As New ChildForm()
         f.MdiParent = Me
         f.Text = "Form - " + Me.MdiChildren.Length.ToString()
         f.Show()
    
     End Sub
    

Hinzufügen des ToolStripPanel-Steuerelements zur Toolbox

Wenn Sie MenuStrip-Steuerelemente mit einem MDI-Formular verwenden, benötigen Sie das ToolStripPanel-Steuerelement. Sie müssen das ToolStripPanel-Steuerelement zur Toolbox hinzufügen, um Ihr MDI-Formular im Windows Forms-Designer zu erstellen.

  1. Öffnen Sie die Toolbox, und klicken Sie dann auf die Registerkarte Alle Windows Forms, um die verfügbaren Windows Forms-Steuerelemente anzuzeigen.

  2. Klicken Sie mit der rechten Maustaste, um das Kontextmenü zu öffnen, und wählen Sie Elemente auswählen aus.

  3. Scrollen Sie im Dialogfeld Toolboxelemente auswählen in der Spalte Name nach unten zu ToolStripPanel.

  4. Aktivieren Sie das Kontrollkästchen ToolStripPanel, und klicken Sie dann auf OK.

    Das ToolStripPanel-Steuerelement wird in der Toolbox angezeigt.

Erstellen eines untergeordneten Formulars

In dieser Prozedur definieren Sie eine separate untergeordnete Formularklasse mit eigenem MenuStrip-Steuerelement. Die Menüelemente für dieses Formular werden mit denen des übergeordneten Formulars zusammengeführt.

  1. Fügen Sie dem Projekt ein neues Formular mit dem Namen ChildForm hinzu.

    Weitere Informationen finden Sie unter Vorgehensweise: Hinzufügen von Windows Forms zu einem WPF-Projekt.

  2. Ziehen Sie aus der Toolbox ein MenuStrip-Steuerelement auf das untergeordnete Formular.

  3. Klicken Sie auf die Glyphe für Designeraktionen des MenuStrip-Steuerelements (Small black arrow), und wählen Sie dann Elemente bearbeiten aus.

  4. Fügen Sie im Dialogfeld Elementsammlungs-Editor ein neues ToolStripMenuItem namens ChildMenuItem zum untergeordneten Menü hinzu.

    Weitere Informationen finden Sie im ToolStrip-Elementsammlungs-Editor.

Testen des Formulars

  1. Drücken Sie F5, um Ihr Formular zu kompilieren und auszuführen.

  2. Klicken Sie auf das Menüelement Fenster, um das Menü zu öffnen, und dann auf Neu.

    Ein neues untergeordnetes Formular wird im MDI-Clientbereich des Formulars erstellt. Das Menü des untergeordneten Formulars wird mit dem Hauptmenü zusammengeführt.

  3. Schließen Sie das untergeordnete Formular.

    Das Menü des untergeordneten Formulars wird aus dem Hauptmenü entfernt.

  4. Klicken Sie mehrmals auf Neu.

    Die untergeordneten Formulare werden automatisch unter dem Menüelement Fenster aufgelistet, da dem MenuStrip-Steuerelement die MdiWindowListItem-Eigenschaft zugewiesen ist.

Hinzufügen von ToolStrip-Unterstützung

In dieser Prozedur fügen Sie dem übergeordneten MDI-Formular vier ToolStrip-Steuerelemente hinzu. Jedes ToolStrip-Steuerelement wird innerhalb eines ToolStripPanel-Steuerelements hinzugefügt, das am Rand des Formulars angedockt ist.

  1. Ziehen Sie aus der Toolbox ein ToolStripPanel-Steuerelement auf das Formular.

  2. Doppelklicken Sie bei ausgewähltem ToolStripPanel-Steuerelement in der Toolbox auf das ToolStrip-Steuerelement.

    Ein ToolStrip-Steuerelement wird im ToolStripPanel-Steuerelement erstellt.

  3. Wählen Sie das ToolStripPanel-Steuerelement.

  4. Ändern Sie im Eigenschaftenfenster den Wert der Dock-Eigenschaft des Steuerelements in Left.

    Das ToolStripPanel-Steuerelement wird links im Formular unter dem Hauptmenü angedockt. Der MDI-Clientbereich wird an die Größe des ToolStripPanel-Steuerelements angepasst.

  5. Wiederholen Sie die Schritte 1 bis 4.

    Docken Sie das neue ToolStripPanel-Steuerelement am oberen Rand des Formulars an.

    Das ToolStripPanel-Steuerelement wird unterhalb des Hauptmenüs aber rechts neben dem ersten ToolStripPanel-Steuerelement angedockt. Dieser Schritt veranschaulicht die Bedeutung der Z-Reihenfolge für die ordnungsgemäße Positionierung von ToolStripPanel-Steuerelementen.

  6. Wiederholen Sie die Schritte 1 bis 4 für zwei weitere ToolStripPanel-Steuerelemente.

    Docken Sie die neuen ToolStripPanel-Steuerelemente rechts und unten auf dem Formular an.

Anordnen von ToolStripPanel-Steuerelementen gemäß Z-Reihenfolge

Die Position eines angedockten ToolStripPanel-Steuerelements auf Ihrem MDI-Formular wird durch die Position des Steuerelements in der Z-Reihenfolge bestimmt. Sie können die Z-Reihenfolge Ihrer Steuerelemente im Fenster „Dokumentgliederung“ mühelos anordnen.

  1. Klicken Sie im Menü Ansicht auf Andere Fenster und dann auf Dokumentgliederung.

    Die Anordnung Ihrer ToolStripPanel-Steuerelemente gemäß dem vorherigen Verfahren ist nicht standardmäßig. Dies liegt daran, dass die Z-Reihenfolge nicht stimmt. Ändern Sie im Fenster „Dokumentgliederung“ die Z-Reihenfolge der Steuerelemente.

  2. Wählen Sie im Fenster „Dokumentgliederung“ das Element ToolStripPanel4 aus.

  3. Klicken Sie wiederholt auf die Schaltfläche mit dem nach unten zeigenden Pfeil, bis sich ToolStripPanel4 am Ende der Liste befindet.

    Das ToolStripPanel4-Steuerelement wird unten im Formular unterhalb der anderen Steuerelemente angedockt.

  4. Wählen Sie ToolStripPanel2 aus.

  5. Klicken Sie einmal auf die Schaltfläche mit dem nach unten zeigenden Pfeil, um das Steuerelement an der dritten Stelle in der Liste zu positionieren.

    Das ToolStripPanel2-Steuerelement ist am oberen Rand des Formulars angedockt, und zwar unterhalb des Hauptmenüs und oberhalb der anderen Steuerelemente.

  6. Wählen Sie verschiedene Steuerelemente im Fenster Dokumentgliederung aus, und verschieben Sie sie in Z-Reihenfolge an verschiedene Positionen. Beachten Sie die Auswirkungen der Z-Reihenfolge auf die Platzierung der angedockten Steuerelemente. Drücken Sie STRG-Z, oder wählen Sie Rückgängig im Menü Bearbeiten aus, um Ihre Änderungen rückgängig zu machen.

Prüfpunkt – Testen des Formulars

  1. Drücken Sie F5, um Ihr Formular zu kompilieren und auszuführen.

  2. Klicken Sie auf den Ziehpunkt eines ToolStrip-Steuerelements, und ziehen Sie es an verschiedene Positionen auf dem Formular.

    Sie können ein ToolStrip-Steuerelement von einem ToolStripPanel-Steuerelement auf ein anderes ziehen.

Nächste Schritte

In dieser exemplarischen Vorgehensweise haben Sie ein übergeordnetes MDI-Formular mit ToolStrip-Steuerelementen und Menüzusammenführung erstellt. Sie können die ToolStrip-Familie von Steuerelementen für viele andere Zwecke verwenden:

Siehe auch