Zusammenführen von Menüelementen im Windows Forms MenuStrip-Steuerelement
Wenn Sie über eine MDI-Anwendung (Multiple-Document Interface) verfügen, können Sie Menüelemente oder ganze Menüs aus dem untergeordneten Formular in die Menüs des übergeordneten Formulars zusammenführen.
In diesem Thema werden die grundlegenden Konzepte beschrieben, die dem Zusammenführen von Menüelementen in einer MDI-Anwendung zugeordnet sind.
Allgemeine Konzepte
Das Zusammenführen von Verfahren umfasst sowohl ein Ziel- als auch ein Quellkontrollverfahren.
Das Ziel ist das MenuStrip Steuerelement im übergeordneten Haupt- oder MDI-Formular, mit dem Sie Menüelemente zusammenführen.
Die Quelle ist das MenuStrip Steuerelement im MDI-Kindformular, 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 MDI-Kindfenster des aktuellen MDI-Hauptformulars auffüllen. Beispielsweise listen Sie in der Regel MDI-Elemente, die derzeit geöffnet sind, im Menü Fenster auf.
Die IsMdiWindowListEntry-Eigenschaft gibt an, welche Menüelemente aus einem MenuStrip in einem MDI-Kindformular stammen.
Sie können Menüelemente manuell oder automatisch zusammenführen. Die Menüelemente werden für beide Methoden auf die gleiche Weise zusammengeführt, aber die Zusammenführung wird anders aktiviert, wie in den Abschnitten "Manuelles Zusammenführen" und "Automatisches Zusammenführen" weiter unten in diesem Thema beschrieben. Sowohl beim manuellen als auch beim automatischen Zusammenführen wirkt sich jede Zusammenführungsaktion auf die nächste Zusammenführungsaktion aus.
MenuStrip Beim Zusammenführen werden Menüelemente von einer ToolStrip in eine andere verschoben, anstatt sie zu klonen, wie bei MainMenu.
MergeAction-Werte
Sie legen die Zusammenführungsaktion für Menüelemente in der Quelle MenuStrip mithilfe der eigenschaft MergeAction fest.
In der folgenden Tabelle werden die Bedeutung und die typische Verwendung der verfügbaren Zusammenführungsaktionen beschrieben.
MergeAction-Wert | Beschreibung | Typische Verwendung |
---|---|---|
Append | (Standard) Fügt das Quellobjekt am Ende der Sammlung des Zielobjekts hinzu. | Hinzufügen von Menüelementen am Ende des Menüs, wenn ein Teil des Programms aktiviert wird. |
Insert | Fügt das Quellelement zur Auflistung des Zielelements an dem durch die MergeIndex-Eigenschaft für das Quellelement festgelegten Speicherort hinzu. | Hinzufügen von Menüelementen zur Mitte oder zum Anfang des Menüs, wenn ein Teil des Programms aktiviert wird. Wenn der Wert von MergeIndex für beide Menüelemente identisch ist, werden sie in umgekehrter Reihenfolge hinzugefügt. Legen Sie MergeIndex entsprechend fest, um die ursprüngliche Reihenfolge beizubehalten. |
Replace | Sucht eine Textabgleichung, oder verwendet den MergeIndex Wert, wenn keine Textabgleichung gefunden wird, und ersetzt dann das übereinstimmende Zielmenüelement durch das Quellmenüelement. | Ersetzen eines Zielmenüelements durch ein Quellmenüelement mit demselben Namen, der etwas anderes bewirkt. |
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 dem Ziel hinzu. | Erstellen einer Menüstruktur, die Menüelemente in ein Untermenü einfügt oder hinzufügt oder Menüelemente aus einem Untermenü entfernt. Sie können z. B. ein Menüelement aus einem untergeordneten MDI-Element zu einem Hauptmenü MenuStrip"Speichern unter" hinzufügen. mit MatchOnly können Sie durch die Menüstruktur navigieren, ohne eine Aktion auszuführen. Es bietet eine Möglichkeit, die nachfolgenden Elemente auszuwerten. |
Remove | Findet eine Textübereinstimmung oder verwendet den Wert MergeIndex, falls keine Textübereinstimmung gefunden wird, und entfernt anschließend das Element aus dem Ziel. | Entfernen eines Menüelements aus dem Ziel MenuStrip. |
Manuelles Zusammenführen
Nur MenuStrip Steuerelemente nehmen an der automatischen Zusammenführung teil. Zum Kombinieren der Elemente anderer Steuerelemente, z. B. ToolStrip- und StatusStrip-Steuerelemente, müssen Sie sie 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. Um eine MenuStrip in einer MDI-Anwendung zu verwenden, setzen Sie die MainMenuStrip-Eigenschaft auf das Ziel MenuStrip, damit die Zusammenführungsaktionen, die auf der Quell-MenuStrip durchgeführt werden, im Ziel-MenuStripwidergespiegelt werden.
Sie können die automatische Zusammenführung auslösen, indem Sie die MenuStrip für die MDI-Quelle aktivieren. Bei der Aktivierung wird die Quelle MenuStrip mit dem MDI-Ziel zusammengeführt. Wenn ein neues Formular aktiv wird, wird die Zusammenführung im letzten Formular rückgängig gemacht und im neuen Formular ausgelöst. Sie können dieses Verhalten steuern, indem Sie die MergeAction-Eigenschaft bei Bedarf für jede ToolStripItemfestlegen und die AllowMerge-Eigenschaft für jede MenuStripfestlegen.
Siehe auch
.NET Desktop feedback