Architektur des ToolStrip-Steuerelements

Die ToolStrip-Klasse und die ToolStripItem-Klasse stellen ein flexibles, erweiterbares System zum Anzeigen von Symbolleisten-, Status- und Menüelementen bereit. Diese Klassen befinden sich im System.Windows.Forms-Namespace und enthalten in ihrem Namen für gewöhnlich das Präfix "ToolStrip" (z. B. ToolStripOverflow) oder das Suffix "Strip" (z. B. MenuStrip).

ToolStrip

In den folgenden Themen werden ToolStrip und die davon abgeleiteten Steuerelemente beschrieben.

ToolStrip ist die abstrakte Basisklasse für MenuStrip, StatusStrip und ContextMenuStrip. Das folgende Objektmodell veranschaulicht die Vererbungshierarchie von ToolStrip.

ToolStrip-Objektmodell

ToolStrip-Objektmodell

Sie können auf alle Elemente in einem ToolStrip über die Items-Auflistung zugreifen. Sie können auf alle Elemente in einem ToolStripDropDownItem über die DropDownItems-Auflistung zugreifen. In einer von ToolStrip abgeleiteten Klasse besteht auch die Möglichkeit, über die DisplayedItems-Eigenschaft nur auf die derzeit angezeigten Elemente zuzugreifen. Diese sind die Elemente, die sich derzeit nicht in einem Überlaufmenü befinden.

Die folgenden Elemente sind speziell für die Funktion mit ToolStripSystemRenderer und ToolStripProfessionalRenderer in jeder Ausrichtung vorgesehen. Sie stehen zur Entwurfszeit standardmäßig für das ToolStrip-Steuerelement zur Verfügung:

MenuStrip ist der Container der obersten Ebene, der das MainMenu ersetzt. Hiermit werden auch die Behandlung von Schlüsseln und MDI-Features (Multiple Document Interface) bereitgestellt. ToolStripDropDownItem und ToolStripMenuItem können neben MenuStrip verwendet werden, obwohl sie von ToolStripItem abgeleitet sind.

Die folgenden Elemente wurden speziell für die problemlose Integration in ToolStripSystemRenderer und ToolStripProfessionalRenderer in allen Ausrichtungen entwickelt. Sie stehen zur Entwurfszeit standardmäßig für das MenuStrip-Steuerelement zur Verfügung:

StatusStrip

StatusStrip ersetzt das StatusBar-Steuerelement. Zu den besonderen Features von StatusStrip zählen benutzerdefinierte Tabellenlayouts, Unterstützung für Größenanpassung und Verschiebungspunkte für Formulare sowie die Spring-Eigenschaft, mit der verfügbare Bereiche durch ein ToolStripStatusLabel automatisch gefüllt werden können.

Die folgenden Elemente wurden speziell für die problemlose Integration in ToolStripSystemRenderer und ToolStripProfessionalRenderer in allen Ausrichtungen entwickelt. Sie stehen zur Entwurfszeit standardmäßig für das StatusStrip-Steuerelement zur Verfügung:

ContextMenuStrip

ContextMenuStrip ersetzt ContextMenu. Jedem Steuerelement kann eine ContextMenuStrip zugeordnet werden. Durch Klicken auf die rechte Maustaste wird automatisch das Kontextmenü angezeigt. Sie können ein ContextMenuStrip-Element programmgesteuert mit der Show-Methode anzeigen. ContextMenuStrip unterstützt abbrechbare Opening- und Closing-Ereignisse, mit denen die Szenarien zur dynamischen Population und zum mehrfachen Klicken behandelt werden können. ContextMenuStrip unterstützt Bilder, den Aktivierungszustand der Menüeinträge, Text, Zugriffstasten, Tastenkombinationen und Untermenüs.

Die folgenden Elemente wurden speziell für die problemlose Integration in ToolStripSystemRenderer und ToolStripProfessionalRenderer in allen Ausrichtungen entwickelt. Sie stehen zur Entwurfszeit standardmäßig für das ContextMenuStrip-Steuerelement zur Verfügung:

ToolStrip – Allgemeine Features

In den folgenden Themen werden Features und Verhalten beschrieben, die für ToolStrip und daraus abgeleitete Steuerelemente allgemein gelten.

Bild

In ToolStrip-Steuerelementen können benutzerdefinierte Bilder auf verschiedene Arten erstellt werden. Wie andere Windows Forms-Steuerelemente haben ToolStrip und ToolStripItem überschreibbare OnPaint-Methoden und Paint-Ereignisse. Wie beim herkömmlichen Zeichnen ist das Koordinatensystem relativ zum Clientbereich des Steuerelements. Das bedeutet, dass die obere linke Ecke des Steuerelements die Koordinaten 0, 0 hat. Das Paint-Ereignis und die OnPaint-Methode für ein ToolStripItem lassen sich wie andere Steuerelement-Zeichenereignisse verwenden.

Die ToolStrip-Steuerelemente bieten mithilfe der ToolStripRenderer-Klasse zudem besseren Zugang zum Rendering der Elemente und der Container. Diese Klasse verfügt über überschreibbare Methoden zum Ausfüllen von Hintergrund, Elementhintergrund, Elementbild, Elementpfeil, Elementtext und Rahmen von ToolStrip. Die Ereignisargumente für diese Methoden machen mehrere Eigenschaften verfügbar, z. B. Rechtecke, Farben, und Textformate, die nach Bedarf angepasst werden können.

Wenn nur einige Aspekte beim Zeichnen eines Elements angepasst werden sollen, überschreiben Sie i. d. R. den ToolStripRenderer.

Wenn Sie ein neues Element schreiben und sämtliche Zeichnungsaspekte steuern möchten, überschreiben Sie die OnPaint-Methode. Innerhalb von OnPaint können Sie Methoden aus dem ToolStripRenderer verwenden.

In der Standardeinstellung ist ToolStrip doppelt gepuffert und nutzt somit die Einstellung OptimizedDoubleBuffer.

Überordnen

Das Konzept des Containerbesitzes und des Überordnens ist in ToolStrip komplexer als in anderen Windows Forms-Containersteuerelementen. Dies ist notwendig zur Unterstützung dynamischer Szenarien wie Überlauf, Freigabe von Dropdownelementen über mehrere ToolStrip-Elemente und der Generierung eines ContextMenuStrip aus einem Steuerelement.

In der folgenden Liste werden Member in Verbindung mit Überordnung beschrieben und deren Verwendung erklärt.

  • OwnerItem greift auf das Element zu, das die Quelle des Dropdownelements ist. Dies ist vergleichbar mit SourceControl. Statt eines Steuerelements wird jedoch ein ToolStripItem zurückgegeben.

  • SourceControl legt fest, welches Steuerelement die Quelle des ContextMenuStrip ist, wenn mehrere Steuerelemente den gleichen ContextMenuStrip verwenden.

  • GetCurrentParent ist ein schreibgeschützter Accessor für die Parent-Eigenschaft. Ein übergeordnetes Element unterscheidet sich von einem Besitzer darin, dass es den zurückgegebenen aktuellen ToolStrip darstellt, in dem das Element angezeigt wird, das sich möglicherweise im Überlaufbereich befindet.

  • Owner gibt den ToolStrip zurück, dessen Elementauflistung das aktuelle ToolStripItem enthält. Dies ist die beste Vorgehensweise, um auf ImageList oder andere Eigenschaften im ToolStrip der obersten Ebene zu verweisen, ohne speziellen Code zur Behandlung des Überlaufs schreiben zu müssen.

Verhalten geerbter Steuerelemente

Die folgenden Steuerelemente werden immer dann gesperrt, wenn sie in Vererbungen verwendet werden:

Erstellen Sie beispielsweise eine neue Windows Forms-Anwendung, indem Sie eines oder mehrere Steuerelemente der vorhergehenden Liste verwenden. Legen Sie den Zugriffsmodifizierer von einem oder mehreren Steuerelementen auf public oder protected fest, und erstellen Sie anschließend das Projekt. Fügen Sie ein Formular hinzu, das vom ersten Formular erbt, und wählen Sie dann ein geerbtes Steuerelement aus. Das Steuerelement wird gesperrt angezeigt und verhält sich wie bei einem private-Zugriffsmodifizierer.

ToolStripContainer – Unterstützung von Vererbung

Das ToolStripContainer-Steuerelement unterstützt beschränkte geerbte Szenarien, ähnlich dem folgenden Beispiel:

  1. Erstellen Sie eine neue Windows Forms-Anwendung.

  2. Fügen Sie einen ToolStripContainer zum Formular hinzu.

  3. Legen Sie den Zugriffsmodifizierer vom ToolStripContainer auf public oder protected fest.

  4. Fügen Sie eine beliebige Kombination der Steuerelemente ToolStrip, MenuStrip und ContextMenuStrip zu den ToolStripPanel-Bereichen vom ToolStripContainer hinzu.

  5. Erstellen Sie das Projekt.

  6. Fügen Sie ein Formular hinzu, das vom ersten Formular erbt.

  7. Wählen Sie den geerbten ToolStripContainer auf dem Formular aus.

Geerbtes Verhalten von untergeordneten Steuerelementen

Nachdem Sie die vorherigen Schritte ausgeführt haben, tritt das folgende geerbte Verhalten auf:

  • Im Designer wird das Steuerelement mit dem Symbol Geerbt angezeigt.

  • Die ToolStripPanel-Steuerelemente sind gesperrt. Sie können nicht ausgewählt und ihr Inhalt kann nicht neu angeordnet werden.

  • Sie können zum ToolStripContentPanel Steuerelemente hinzufügen, die Steuerelemente verschieben und diese als untergeordnete Steuerelemente vom ToolStripContentPanel definieren.

  • Ihre Änderungen bleiben nach dem Erstellen des Formulars erhalten.

    Tipp

    Entfernen Sie die Zugriffsmodifizierer aus allen ToolStripPanel-Steuerelementen, die zu einem ToolStripContainer gehören. Der Zugriffsmodifizierer vom ToolStripContainer steuert das gesamte Steuerelement.

Teilweise vertrauenswürdig

Die Einschränkungen von ToolStrip unter teilweiser Vertrauensstellung dienen zum Schutz vor versehentlichen Eingaben persönlicher Daten, die von nicht autorisierten Personen oder Diensten möglicherweise verwendet werden können. Die folgenden Maßnahmen dienen dem Schutz:

  • ToolStripDropDown-Steuerelemente erfordern AllWindows, um Elemente in einem ToolStripControlHost anzuzeigen. Dies gilt sowohl für systeminterne Steuerelemente, wie ToolStripTextBox, ToolStripComboBox und ToolStripProgressBar, als auch für benutzerdefinierte Steuerelemente. Wenn diese Anforderung nicht erfüllt wird, werden die entsprechenden Elemente nicht angezeigt. Es wird keine Ausnahme ausgelöst.

  • Das Festlegen der AutoClose-Eigenschaft auf false ist nicht zulässig, und der abbrechbare Closing-Ereignisparameter wird ignoriert. Dadurch wird das Dropdownelement nach der ersten Tastatureingabe geschlossen. Wenn diese Anforderung nicht erfüllt wird, werden solche Elemente nicht angezeigt. Es wird keine Ausnahme ausgelöst.

  • Viele Ereignisse zur Behandlung von Tastatureingaben werden nicht ausgelöst, wenn sie in Verbindung mit teilweiser Vertrauensstellung auftreten. Eine Ausnahme stellt AllWindows dar.

  • Zugriffstasten werden ignoriert, wenn AllWindows nicht gewährt wird.

Verwendung

Die folgenden Verwendungsmuster wirken sich auf das ToolStrip-Layout, die Tastaturinteraktion und das Endbenutzerverhalten aus:

  • Verknüpfung in einem ToolStripPanel

    Der ToolStrip kann innerhalb vom ToolStripPanel und über ToolStripPanel neu ausgerichtet werden. Die Dock-Eigenschaft wird ignoriert, und wenn die Stretch-Eigenschaft den Wert false aufweist, nimmt die Größe vom ToolStrip beim Hinzufügen von Elementen zum ToolStripPanel zu. In der Regel ist der ToolStrip nicht Teil der Aktivierreihenfolge.

  • Angedockt

    Der ToolStrip befindet sich auf einer Seite eines Containers in einer festen Position, und seine Größe erstreckt sich über den gesamten Rand, an dem er angedockt ist. In der Regel ist der ToolStrip nicht Teil der Aktivierreihenfolge.

  • Absolut positioniert

    Der ToolStrip verhält sich wie andere Steuerelemente, indem er von der Location-Eigenschaft gesetzt wird, eine feste Größe hat und normalerweise Teil der Aktivierreiheinfolge ist.

Tastaturinteraktion

Zugriffstasten

Zusammen mit oder nach der ALT-Taste gedrückte Tastenkombinationen bieten die Möglichkeit, ein Steuerelement mithilfe der Tastatur zu aktivieren. ToolStrip unterstützt sowohl explizite als auch implizite Tastenkombinationen. Die explizite Definition verwendet ein kaufmännisches Und-Zeichen (&), das dem Buchstaben vorausgeht. Die implizite Definition verwendet einen Algorithmus, der versucht, ein passendes Element basierend auf der Reihenfolge der Buchstaben einer gegebenen Text-Eigenschaft zu finden.

Tastenkombinationen

Die vom MenuStrip verwendeten Tastenkombinationen setzen eine Kombination der Keys-Aufzählung (diese ist nicht von einer bestimmten Reihenfolge abhängig) ein, um die Tastenkombination festzulegen. Zudem kann die ShortcutKeyDisplayString-Eigenschaft verwendet werden, um eine Tastenkombination nur als Text anzuzeigen, beispielsweise die Anzeige von "Entf" anstelle von "Entfernen".

Die ALT-Taste aktiviert den MainMenuStrip, auf den durch MenuStrip gezeigt wird. Von dort navigiert STRG+TAB zwischen ToolStrip-Steuerelementen innerhalb von ToolStripPanels. Mithilfe der TAB-Taste und der Pfeiltasten auf der Zehnertastatur wird zwischen ToolStrip-Elementen navigiert. Ein spezieller Algorithmus steuert die Navigation im Überlaufbereich. Mit der LEERTASTE kann ToolStripButton, ToolStripDropDownButton oder ToolStripSplitButton ausgewählt werden.

Fokus und Validierung

Bei der Aktivierung über die ALT-Taste übernehmen und entfernen MenuStrip oder ToolStrip den Fokus normalerweise nicht vom Steuerelement, das den Fokus gegenwärtig hat. Wenn ein Steuerelement im MenuStrip gehostet ist oder der MenuStrip eine Dropdownliste enthält, erhält das Steuerelement den Fokus, wenn die TAB-TASTE gedrückt wird. Im Allgemeinen sollten die Ereignisse GotFocus, LostFocus, Enter und Leave nicht vom MenuStrip ausgelöst werden, wenn sie über die Tastatur aktiviert werden. Verwenden Sie in solchen Fällen stattdessen die Ereignisse MenuActivate und MenuDeactivate.

Standardmäßig ist CausesValidation auf false festgelegt. Rufen Sie Validate explizit auf dem Formular auf, um eine Validierung auszuführen.

Layout

Sie steuern das ToolStrip-Layout, indem Sie einen der Member von ToolStripLayoutStyle mit der LayoutStyle-Eigenschaft auswählen.

Stapellayouts

Beim Stapeln werden an beiden Enden des ToolStrip Elemente nebeneinander angeordnet. In der folgenden Liste werden die Stapellayouts beschrieben.

Andere Features von Stapellayouts

Alignment bestimmt das Ende des ToolStrip, an dem das Element ausgerichtet wird.

Wenn Elemente nicht in den ToolStrip passen, wird automatisch eine Überlaufschaltfläche angezeigt. Mit der Overflow-Eigenschaft wird festgelegt, ob ein Element im Überlaufbereich stets, bei Bedarf oder nie angezeigt wird.

Im LayoutCompleted-Ereignis können Sie die Placement-Eigenschaft untersuchen und ermitteln, ob ein Element auf dem Haupt-ToolStrip oder dem Überlauf-ToolStrip platziert wurde oder derzeit nicht angezeigt wird. Typische Gründe dafür, dass ein Element nicht angezeigt wird, liegen darin, dass das Element nicht auf den Haupt-ToolStrip passte und die Overflow-Eigenschaft auf Never festgelegt wurde.

Ein ToolStrip kann durch Platzieren in einem ToolStripPanel und Festlegen des GripStyle auf Visible verschiebbar gestaltet werden.

Andere Layoutoptionen

Weitere Layoutoptionen sind Flow und Table.

Flusslayout

Das Flow-Layout ist die Standardeinstellung für ContextMenuStrip, ToolStripDropDownMenu und ToolStripOverflow. Es ähnelt dem FlowLayoutPanel. Flow-Layouts weisen folgende Features auf:

Tabellenlayout

Das Table-Layout ist die Standardeinstellung für StatusStrip. Es ähnelt dem TableLayoutPanel. Flow-Layouts weisen folgende Features auf:

ToolStripItem

In den folgenden Themen werden ToolStripItem und die davon abgeleiteten Steuerelemente beschrieben.

ToolStripItem ist die abstrakte Basisklasse für alle Elemente, die in einem ToolStrip verwendet werden. Das folgende Objektmodell veranschaulicht die Vererbungshierarchie von ToolStripItem.

ToolStripItem-Objektmodell

ToolStripItem-Objektmodell

ToolStripItem-Klassen erben entweder direkt von ToolStripItem, oder sie erben indirekt von ToolStripItem durch ToolStripControlHost oder ToolStripDropDownItem.

ToolStripItem-Steuerelemente müssen in einem ToolStrip, MenuStrip, StatusStrip oder ContextMenuStrip enthalten sein und können einem Formular nicht direkt hinzugefügt werden. Die verschiedenen Containerklassen wurden so entworfen, dass sie eine geeignete Teilmenge von ToolStripItem-Steuerelementen enthalten.

In der folgenden Tabelle werden die vordefinierten ToolStripItem-Steuerelemente und die Container, in denen sie am besten aussehen, aufgelistet. ToolStrip-Elemente können zwar in jedem von ToolStrip abgeleiteten Container gehostet werden, sehen jedoch in den folgenden Containern am besten aus:

Tipp

ToolStripDropDown wird nicht in der Designertoolbox angezeigt.

Enthaltenes Element

ToolStrip

MenuStrip

ContextMenuStrip

StatusStrip

ToolStripDropDown

ToolStripButton

Ja

Nein

Nein

Nein

Ja

ToolStripComboBox

Ja

Ja

Ja

Nein

Ja

ToolStripSplitButton

Ja

Nein

Nein

Ja

Ja

ToolStripLabel

Ja

Nein

Nein

Ja

Ja

ToolStripSeparator

Ja

Ja

Ja

Nein

Ja

ToolStripDropDownButton

Ja

Nein

Nein

Ja

Ja

ToolStripTextBox

Ja

Ja

Ja

Nein

Ja

ToolStripMenuItem

Nein

Ja

Ja

Nein

Nein

ToolStripStatusLabel

Nein

Nein

Nein

Ja

Nein

ToolStripProgressBar

Ja

Nein

Nein

Ja

Nein

ToolStripControlHost

Ja

Ja

Nein

Ja

Yes

ToolStripButton

ToolStripButton ist das Schaltflächenelement für ToolStrip. Es kann mit verschiedenen Rahmenstilen angezeigt werden, und es kann verwendet werden, um einen aktivierten betriebsfähigen Zustand darzustellen. Sie können damit weiterhin festlegen, dass der Fokus standardmäßig auf dem Element liegt.

ToolStripLabel

ToolStripLabel stellt eine Bezeichnungsfunktionalität in ToolStrip-Steuerelementen bereit. ToolStripLabel ist wie ToolStripButton jedoch ohne Standardfokus und wird nicht als aktiviert oder hervorgehoben gerendert.

ToolStripLabel als unterstützt gehostetes Element Zugriffstasten.

Verwenden Sie die Eigenschaften LinkColor, LinkVisited und LinkBehavior auf einem ToolStripLabel, um die Linksteuerung in ToolStrip zu unterstützen.

ToolStripStatusLabel

ToolStripStatusLabel ist eine Version von ToolStripLabel, die eigens zur Verwendung in StatusStrip vorgesehen ist. Die speziellen Features beinhalten BorderStyle, BorderSides und Spring.

ToolStripSeparator

ToolStripSeparator fügt eine vertikale oder eine horizontale Linie zu einer Symbolleiste oder einem Menü hinzu, je nach Ausrichtung. Dieses Element bietet eine Gruppierung von Elementen oder Unterscheidung zwischen Elementen, wie z. B. in einem Menü.

Sie können einen ToolStripSeparator zur Entwurfszeit hinzufügen, indem Sie diesen aus einer Dropdownliste auswählen. Sie können auch automatisch einen ToolStripSeparator erstellen, indem Sie entweder in die Designervorlageknoten oder in die Add-Methode einen Bindestrich (-) eingeben.

ToolStripControlHost

ToolStripControlHost ist die abstrakte Basisklasse für ToolStripComboBox, ToolStripTextBox und ToolStripProgressBar. ToolStripControlHost kann andere Steuerelemente, einschließlich benutzerdefinierter Steuerelemente, auf die folgenden zwei Arten hosten:

  • Erstellen Sie einen ToolStripControlHost mit einer Klasse, die von Control abgeleitet ist. Um auf das gehostete Steuerelement und die Eigenschaften vollständig zugreifen zu können, müssen Sie die Control-Eigenschaft auf die eigentliche Klasse zurücksetzen, die sie darstellt.

  • Erweitern Sie ToolStripControlHost, und rufen Sie im Standardkonstruktor der geerbten Klasse den Basisklassenkonstruktor auf, der eine von Control abgeleitete Klasse übergibt. Diese Option ermöglicht es Ihnen, gängige Steuerelementmethoden und -eigenschaften für leichten Zugriff mit einem ToolStrip zu umschließen.

ToolStripComboBox

Bei ToolStripComboBox handelt es sich um die zum Hosten in ToolStrip optimierte Version von ComboBox. Eine Teilmenge der gehosteten Steuerelementeigenschaften und -ereignisse wird auf der ToolStripComboBox-Ebene bereitgestellt. Auf die zugrunde liegenden ComboBox-Steuerelemente kann jedoch über die ComboBox-Eigenschaft vollständig zugegriffen werden.

ToolStripTextBox

Bei ToolStripTextBox handelt es sich um die zum Hosten in ToolStrip optimierte Version von TextBox. Eine Teilmenge der gehosteten Steuerelementeigenschaften und -ereignisse wird auf der ToolStripTextBox-Ebene bereitgestellt. Auf die zugrunde liegenden TextBox-Steuerelemente kann jedoch über die TextBox-Eigenschaft vollständig zugegriffen werden.

ToolStripProgressBar

Bei ToolStripProgressBar handelt es sich um die zum Hosten in ToolStrip optimierte Version von ProgressBar. Eine Teilmenge der gehosteten Steuerelementeigenschaften und -ereignisse wird auf der ToolStripProgressBar-Ebene bereitgestellt. Auf die zugrunde liegenden ProgressBar-Steuerelemente kann jedoch über die ProgressBar-Eigenschaft vollständig zugegriffen werden.

ToolStripDropDownItem

ToolStripDropDownItem ist die abstrakte Basisklasse für ToolStripMenuItem, ToolStripDropDownButton und ToolStripSplitButton, die Elemente direkt hosten oder zusätzliche Elemente in einem Dropdowncontainer hosten kann. Hierzu wird die DropDown-Eigenschaft auf ToolStripDropDown und die Items-Eigenschaft von ToolStripDropDown festgelegt. Auf diese Dropdownelemente kann direkt über die DropDownItems-Eigenschaft zugegriffen werden.

ToolStripMenuItem

ToolStripMenuItem ist ein ToolStripDropDownItem, das mit ToolStripDropDownMenu und ContextMenuStrip verwendet wird, um die speziellen Hervorhebungs-, Layout- und Spaltenanordnungsereignisse für Menüs zu behandeln.

ToolStripDropDownButton

ToolStripDropDownButton ähnelt im Erscheinungsbild ToolStripButton. Beim Klicken wird jedoch ein Dropdownbereich angezeigt. Ein- oder Ausblenden des Dropdownpfeils mithilfe der ShowDropDownArrow-Eigenschaft. ToolStripDropDownButton stellt den Host für eine ToolStripOverflowButton dar, die Elemente anzeigt, die ToolStrip überschreiten.

ToolStripSplitButton

ToolStripSplitButton kombiniert die Funktionalität einer Schaltfläche und einer Dropdownschaltfläche.

Verwenden Sie die DefaultItem-Eigenschaft, um das Click-Ereignis aus den ausgewählten Dropdownelementen mit dem in der Schaltfläche angezeigten Element zu synchronisieren.

ToolStripItem – Allgemeine Features

ToolStripItem stellt die folgenden allgemeinen Features und Optionen für erbende Steuerelemente zur Verfügung:

  • Hauptereignisse

  • Bildbehandlung

  • Ausrichtung

  • Text- und Bildbeziehungen

  • Anzeigeformat

Hauptereignisse

ToolStripItem-Steuerelemente erhalten eigene Klick-, Maus- und Zeichnenereignisse und können auch in einem gewissen Umfang eine Tastaturvorverarbeitung ausführen.

Bildbehandlung

Die Eigenschaften Image, ImageAlign, ImageIndex, ImageKey und ImageScaling beeinflussen verschiedene Aspekte der Bildbehandlung. Verwenden Sie Bilder in ToolStrip-Steuerelementen durch direktes Festlegen dieser Eigenschaften oder durch Festlegen ImageList-Eigenschaft nur zur Laufzeit.

Die Bildskalierung wird durch die Interaktion der Eigenschaften in ToolStrip und ToolStripItem folgendermaßen bestimmt:

Ausrichtung

Der Wert der Alignment-Eigenschaft ermittelt das Ende von ToolStrip, bei dem ein Element angezeigt wird. Die Alignment-Eigenschaft funktioniert nur, wenn der Layoutstil von ToolStrip auf einen der Stapelüberlaufwerte festgelegt ist.

Elemente werden in ToolStrip in der Reihenfolge platziert, in der sie in der Elementauflistung eingeblendet werden. Zum programmgesteuerten Ändern der Position eines Elements verwenden Sie die Insert-Methode, um das Element in die Auflistung zu verschieben. Mit dieser Methode wird das Element verschoben, jedoch nicht verdoppelt.

Text- und Bildbeziehung

Die TextImageRelation-Eigenschaft legt die relative Position des Bilds unter Berücksichtigung des Texts auf einem ToolStripItem fest. Elemente ohne Bild, Text oder beides werden als besondere Fälle behandelt, sodass das ToolStripItem keinen leeren Bereich für die fehlenden Bild- oder Textelemente anzeigt.

Anzeigestil

Mit DisplayStyle können die Werte der Text- und Bildeigenschaften eines Elements festgelegt werden, um nur die gewünschten Elemente anzuzeigen. Normalerweise wird diese Option verwendet, wenn nur der Anzeigestil geändert werden soll, während das gleiche Element in einem anderen Zusammenhang angezeigt wird.

Zusätzliche Klassen

Im Folgenden sind Klassen für verschiedene andere Funktionen aufgeführt:

  • ToolStripManager unterstützt ToolStrip-bezogene Aufgaben für ganze Anwendungen, z. B. Zusammenführungs-, Einstellungs- und Renderoptionen.

  • Mit ToolStripRenderer kann auf einfache Weise ein bestimmter Stil oder ein Design für einen ToolStrip übernommen werden.

  • ToolStripProfessionalRenderer erstellt Stifte und Pinsel auf Grundlage einer ersetzbaren Farbtabelle (ProfessionalColorTable).

  • ToolStripSystemRenderer wendet Systemfarben und eine zweidimensionale Ansicht auf ToolStrip-Anwendungen an.

  • ToolStripContainer ist SplitContainer ähnlich. Hierbei werden vier angedockte Seitenbereiche (Instanzen von ToolStripPanel) und ein zentraler Bereich (eine Instanz von ToolStripContentPanel) verwendet, um eine typische Anordnung zu erstellen. Die Seitenbereiche können nicht entfernt jedoch ausgeblendet werden. Der zentrale Bereich kann weder entfernt noch ausgeblendet werden. Eines oder mehrere der Steuerelemente ToolStrip, MenuStrip oder StatusStrip können in den Seitenbereichen angeordnet werden, und der zentrale Bereich lässt sich auch für andere Steuerelemente verwenden. Das ToolStripContentPanel enthält außerdem eine Möglichkeit, durch die Unterstützung des Renderings im Text des Formulars eine einheitliche Darstellung zu erreichen. Der ToolStripContainer unterstützt MDI (Multiple Document Interface)-Anwendungen nicht.

  • ToolStripPanel bietet einen Bereich, um ToolStrip-Steuerelemente zu verschieben und anzuordnen. Wenn Sie diese Auswahl treffen, können Sie nur einen Bereich verwenden, wobei ToolStripPanel gut in MDI-Szenarien funktioniert.

Siehe auch

Referenz

Übersicht über das ToolStrip-Steuerelement (Windows Forms)

Konzepte

Zusammenfassung der ToolStrip-Technologie

Weitere Ressourcen

ToolStrip-Steuerelement (Windows Forms)

MenuStrip-Steuerelement (Windows Forms)

StatusStrip-Steuerelement

ContextMenuStrip-Steuerelement

BindingNavigator-Steuerelement (Windows Forms)