Share via


Zusammenführen von Menüelementen im MenuStrip-Steuerelement von Windows Forms

Wenn Sie eine MDI-Anwendung (Multi-Document Interface) verwenden, können Sie Menüelemente oder ganze Menüs aus dem untergeordneten Formular in die Menüs des übergeordneten Formulars zusammenführen.

Unter diesem Thema werden die grundlegenden Konzepte im Zusammenhang mit dem Zusammenführen von Menüelementen in einer MDI-Anwendung beschrieben.

Allgemeine Konzepte

Zusammenführungsvorgänge umfassen sowohl ein Ziel- als auch ein Quellsteuerelement:

  • Das Ziel ist das MenuStrip-Steuerelement im übergeordneten Haupt- oder MDI-Formular, in dem Sie Menüelemente zusammenführen.

  • Die Quelle ist das MenuStrip-Steuerelement im untergeordneten MDI-Formular, das die Menüelemente enthält, die Sie im Zielmenü zusammenführen möchten.

Die MdiWindowListItem-Eigenschaft identifiziert das Menüelement, dessen Dropdownliste Sie mit den Titeln der untergeordneten MDI-Elemente des aktuellen übergeordneten MDI-Formulars auffüllen. Beispielsweise listen Sie normalerweise die untergeordneten MDI-Elemente auf, die derzeit im Menü Fenster geöffnet sind.

Die IsMdiWindowListEntry-Eigenschaft identifiziert, welche Menüelemente aus einer MenuStrip-Instanz auf einem untergeordneten MDI-Formular stammen.

Sie können Menüelemente manuell oder automatisch zusammenführen. Die Elemente des Menüs werden bei beiden Methoden auf die gleiche Weise zusammengeführt, aber die Zusammenführung wird unterschiedlich aktiviert, wie in den Abschnitten „Manuelle Zusammenführung“ und „Automatische Zusammenführung“ weiter unten in diesem Thema erläutert. Sowohl bei der manuellen als auch bei der automatischen Zusammenführung wirkt sich jede Zusammenführungsaktion auf die nächste Zusammenführungsaktion aus.

Die MenuStrip-Zusammenführung verschiebt Menüelemente aus einer ToolStrip-Instanz in eine andere, anstatt sie zu klonen, wie es bei der MainMenu-Instanz der Fall war.

MergeAction-Werte

Sie legen die Zusammenführungsaktion für Menüelemente in der MenuStrip-Quellinstanz mithilfe der MergeAction-Eigenschaft fest.

Die folgende Tabelle beschreibt die Bedeutung und typische Verwendung der verfügbaren Zusammenführungsaktionen.

MergeAction-Wert BESCHREIBUNG Typische Verwendung
Append (Standard) Fügt das Quellelement am Ende der Sammlung des Zielelements hinzu. Hinzufügen von Menüelementen am Ende des Menüs, wenn ein Teil des Programms aktiviert ist.
Insert Fügt das Quellelement der Sammlung des Zielelements hinzu, und zwar an der Stelle, die durch die beim Quellelement festgelegte MergeIndex-Eigenschaft bestimmt wird. Hinzufügen von Menüelementen in der Mitte oder am Anfang des Menüs, wenn ein Teil des Programms aktiviert ist.

Wenn der Wert von MergeIndex für beide Menüelemente gleich ist, werden sie in umgekehrter Reihenfolge hinzugefügt. Legen Sie MergeIndex entsprechend fest, um die ursprüngliche Reihenfolge beizubehalten.
Replace Findet eine Textübereinstimmung oder verwendet den MergeIndex-Wert, wenn keine Textübereinstimmung gefunden wird, und ersetzt dann das übereinstimmende Zielmenüelement durch das Quellmenüelement. Ersetzen eines Zielmenüelements durch ein Quellmenüelement mit demselben Namen, das eine andere Funktion aufweist.
MatchOnly Findet eine Textübereinstimmung oder verwendet den MergeIndex-Wert, wenn keine Textübereinstimmung gefunden wird, und fügt dann alle Dropdownelemente aus der Quelle zum Ziel hinzu. Erstellen einer Menüstruktur, die Menüelemente in ein Untermenü ein- oder hinzufügt bzw. Menüelemente aus einem Untermenü entfernt. Sie können z. B. ein Element aus einem untergeordneten MDI-Menü in ein MenuStripSpeichern unter-Hauptmenü einfügen.

MatchOnly ermöglicht es Ihnen, durch die Menüstruktur zu navigieren, ohne eine Aktion auszuführen. Es bietet eine Möglichkeit, die nachfolgenden Elemente auszuwerten.
Remove Findet eine Textübereinstimmung oder verwendet den MergeIndex-Wert, wenn keine Textübereinstimmung gefunden wird, und entfernt dann das Element aus dem Ziel. Entfernen eines Elements aus dem Ziel-MenuStrip.

Manuelle Zusammenführung

Nur MenuStrip-Steuerelemente nehmen an der automatischen Zusammenführung teil. Um die Elemente anderer Steuerelemente, z. B. ToolStrip- und StatusStrip-Steuerelemente, zu kombinieren, müssen Sie diese manuell zusammenführen, indem Sie die Merge- und RevertMerge-Methoden in Ihrem Code nach Bedarf aufrufen.

Automatische Zusammenführung

Sie können die automatische Zusammenführung für MDI-Anwendungen verwenden, indem Sie das Quellformular aktivieren. Wenn Sie eine MenuStrip-Instanz in einer MDI-Anwendung verwenden möchten, legen Sie die MainMenuStrip-Eigenschaft auf die MenuStrip-Zielinstanz fest, sodass Zusammenführungsaktionen, die für die MenuStrip-Quellinstanz ausgeführt werden, in der MenuStrip-Zielinstanz widergespiegelt werden.

Sie können die automatische Zusammenführung auslösen, indem Sie die MenuStrip-Instanz für die MDI-Quelle aktivieren. Bei der Aktivierung wird die MenuStrip-Quellinstanz mit dem MDI-Ziel zusammengeführt. Wenn ein neues Formular aktiviert wird, wird die Zusammenführung auf dem letzten Formular rückgängig gemacht und auf dem neuen Formular ausgelöst. Sie können dieses Verhalten steuern, indem Sie die MergeAction-Eigenschaft je nach Bedarf für jede ToolStripItem-Instanz festlegen, und indem Sie die AllowMerge-Eigenschaft für jede MenuStrip-Instanz festlegen.

Weitere Informationen