Architektur des ToolStrip-Steuerelements

Die Klassen ToolStrip und ToolStripItem bieten ein flexibles, erweiterbares System für die Anzeige von Symbolleisten-, Status- und Menüelementen. Diese Klassen sind alle im System.Windows.Forms-Namespace enthalten und werden in der Regel mit dem Präfix „ToolStrip“ (z. B. ToolStripOverflow) oder mit dem Suffix „Strip“ (z. B. MenuStrip) benannt.

ToolStrip

Die folgenden Themen beschreiben ToolStrip und die Steuerelemente, die davon abgeleitet werden.

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

Diagram that shows the ToolStrip object model.

Sie können auf alle Elemente in einem ToolStrip über die Items-Sammlung zugreifen. Sie können auf alle Elemente in einem ToolStripDropDownItem über die DropDownItems-Sammlung zugreifen. In einer Klasse, die von ToolStrip abgeleitet ist, können Sie die DisplayedItems-Eigenschaft auch verwenden, um nur auf die Elemente zuzugreifen, die gerade angezeigt werden. Dies sind die Elemente, die sich derzeit nicht im Überlaufmenü befinden.

Die folgenden Elemente wurden speziell für die reibungslose Zusammenarbeit mit beiden ToolStripSystemRenderer und ToolStripProfessionalRenderer in allen Ausrichtungen entwickelt. Sie sind standardmäßig zur Entwurfszeit für das Steuerelement ToolStrip verfügbar:

MenuStrip ist der Container auf oberster Ebene, der MainMenu ersetzt. Außerdem bietet es Features zur Handhabung von Schlüsseln und zur Schnittstelle für mehrere Dokumente (MDI). Funktionell arbeiten ToolStripDropDownItem und ToolStripMenuItem zusammen mit MenuStrip, obwohl sie von ToolStripItem abgeleitet sind.

Die folgenden Elemente wurden speziell für die reibungslose Zusammenarbeit mit beiden ToolStripSystemRenderer und ToolStripProfessionalRenderer in allen Ausrichtungen entwickelt. Sie sind standardmäßig zur Entwurfszeit für das Steuerelement MenuStrip verfügbar:

StatusStrip

StatusStrip ersetzt das Steuerelement StatusBar. Zu den besonderen Features von StatusStrip gehören ein benutzerdefiniertes Tabellenlayout, Unterstützung für die Dimensionierung des Formulars und bewegliche Griffe sowie die Spring-Eigenschaft, die es einem ToolStripStatusLabel gestattet, den verfügbaren Platz automatisch zu füllen.

Die folgenden Elemente wurden speziell für die reibungslose Zusammenarbeit mit beiden ToolStripSystemRenderer und ToolStripProfessionalRenderer in allen Ausrichtungen entwickelt. Sie sind standardmäßig zur Entwurfszeit für das Steuerelement StatusStrip verfügbar:

ContextMenuStrip

ContextMenuStrip ersetzt ContextMenu. Sie können ContextMenuStrip einem beliebigen Steuerelement zuordnen, und das Kontextmenü wird automatisch durch Klicken mit der rechten Maustaste angezeigt. Sie können ein ContextMenuStrip programmgesteuert mithilfe der Methode Show anzeigen. ContextMenuStrip unterstützt abbrechbare Opening- und Closing-Ereignisse, um das dynamische Auffüllen und Szenarien mit mehreren Klickereignissen zu verarbeiten. ContextMenuStrip unterstützt Bilder, Aktivierungszustände von Menüelementen, Text, Zugriffsschlüssel, Tastenkombinationen und hierarchische Menüs.

Die folgenden Elemente wurden speziell für die reibungslose Zusammenarbeit mit beiden ToolStripSystemRenderer und ToolStripProfessionalRenderer in allen Ausrichtungen entwickelt. Sie sind standardmäßig zur Entwurfszeit für das Steuerelement ContextMenuStrip verfügbar:

Generische Features von ToolStrip

In den folgenden Themen werden Features und Verhaltensweisen beschrieben, die für ToolStrip und abgeleitete Steuerelemente allgemein gültig sind.

Zeichnen

Sie können auf verschiedene Weise in ToolStrip-Steuerelementen zeichnen. Wie bei anderen Windows Forms-Steuerelementen besitzen auch ToolStrip und ToolStripItem überschreibbare OnPaint-Methoden und Paint-Ereignisse. Wie beim normalen Zeichnen ist das Koordinatensystem relativ zum Clientbereich des Steuerelements, d. h. die linke obere Ecke des Steuerelements ist 0, 0. Das Paint-Ereignis und die OnPaint-Methode für ein ToolStripItem verhalten sich wie andere Ereignisse zum Zeichnen von Steuerelementen.

Die ToolStrip-Steuerelemente bieten auch einen differenzierteren Zugriff auf das Rendering der Elemente und des Containers über die Klasse ToolStripRenderer, die überschreibbare Methoden zum Zeichnen des Hintergrunds, des Elementhintergrunds, des Elementbilds, des Elementpfeils, des Elementtexts und des Rahmens von ToolStrip. Die Ereignisargumente für diese Methoden zeigen verschiedene Eigenschaften wie Rechtecke, Farben und Textformate an, die Sie nach Belieben anpassen können.

Wenn Sie nur einige Aspekte anpassen möchten, wie ein Element gezeichnet wird, setzen Sie in der Regel die Option ToolStripRenderer außer Kraft.

Wenn Sie ein neues Element erstellen und alle Aspekte des Bilds steuern möchten, setzen Sie die Methode OnPaint außer Kraft. Sie können aus OnPaint heraus Methoden von ToolStripRenderer verwenden.

Standardmäßig wird ToolStrip doppelt gepuffert und nutzt die Einstellung OptimizedDoubleBuffer.

Überordnung

Das Konzept von Containereigentum und -überordnung ist bei ToolStrip-Steuerelementen komplexer als bei anderen Windows Forms-Containersteuerelementen. Das ist erforderlich, um dynamische Szenarien zu unterstützen, z. B. Überlauf, Freigabe von Dropdownlisten für mehrere ToolStrip-Elemente und Generierung einer ContextMenuStrip-Instanz aus einem Steuerelement.

Die folgende Liste beschreibt Member, die sich auf die Überordnung beziehen und erläutert deren Verwendung.

  • OwnerItem greift auf das Element zu, das die Quelle des Dropdownelements darstellt. Dies ist ähnlich wie SourceControl, aber anstatt ein Steuerelement zurückzugeben, gibt es ein ToolStripItem zurück.

  • SourceControl bestimmt, welches Steuerelement die Quelle von ContextMenuStrip ist, wenn mehrere Steuerelemente dasselbe ContextMenuStrip teilen.

  • GetCurrentParent ist eine schreibgeschützte Zugriffsmethode für die Eigenschaft Parent. Ein übergeordnetes Element unterscheidet sich von einem Besitzer dadurch, dass ein übergeordnetes Element das zurückgegebene aktuelle ToolStrip bezeichnet, in dem das Element angezeigt wird, das sich im Überlaufbereich befinden kann.

  • Owner gibt die ToolStrip-Instanz zurück, deren Elementsammlung das aktuelle ToolStripItem enthält. Dies ist der beste Ansatz, um auf ImageList oder andere Eigenschaften der ToolStrip-Instanz auf der obersten Ebene zu verweisen, ohne speziellen Code zur Behandlung von Überläufen zu schreiben.

Verhalten geerbter Steuerelemente

Die folgenden Steuerelemente sind gesperrt, wenn sie in der Vererbung verwendet werden:

Erstellen Sie z. B. eine neue Windows Forms-Anwendung mithilfe eines oder mehrerer der Steuerelemente aus der vorherigen Liste. Legen Sie den Zugriffsmodifizierer eines oder mehrerer Steuerelemente auf public oder protected fest, und erstellen Sie dann das Projekt. Fügen Sie ein Formular hinzu, das von dem ersten Formular erbt, und wählen Sie dann ein geerbtes Steuerelement aus. Das Steuerelement wird gesperrt angezeigt und verhält sich so, als wäre sein Zugriffsmodifizierer private.

ToolStripContainer-Unterstützung für die Vererbung

Das Steuerelement ToolStripContainer unterstützt eingeschränkte vererbte Szenarien, ähnlich wie im folgenden Beispiel:

  1. Erstellen Sie eine neue Windows Forms-Anwendung.

  2. Fügen Sie dem Formular eine ToolStripContainer hinzu.

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

  4. Fügen Sie eine beliebige Kombination aus ToolStrip-, MenuStrip- und ContextMenuStrip-Steuerelementen zu den ToolStripPanel-Regionen von ToolStripContainer hinzu.

  5. Erstellen Sie das Projekt.

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

  7. Wählen Sie die geerbte ToolStripContainer-Instanz im Formular aus.

Geerbtes Verhalten von untergeordneten Steuerelementen

Nachdem Sie die vorherigen Schritte abgeschlossen haben, tritt das folgende geerbte Verhalten auf:

  • Im Designer wird das Steuerelement mit einem geerbten Symbol angezeigt.

  • Die ToolStripPanel-Steuerelemente sind gesperrt, und Sie können ihre Inhalte nicht auswählen oder neu anordnen.

  • Sie können dem ToolStripContentPanel Steuerelemente hinzufügen, die Steuerelemente verschieben und sie zu untergeordneten Steuerelementen von ToolStripContentPanel machen.

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

    Hinweis

    Entfernen Sie die Zugriffsmodifizierer aus allen ToolStripPanel-Steuerelementen, die Teil einer ToolStripContainer-Instanz sind. Der Zugriffsmodifizierer von ToolStripContainer steuert das gesamte Steuerelement.

Teilweise Vertrauenswürdigkeit

Die Einschränkungen von ToolStrip unter teilweiser Vertrauenswürdigkeit sollen verhindern, dass versehentlich persönliche Informationen eingegeben werden, die von nicht autorisierten Personen oder Diensten verwendet werden könnten. Die Schutzmaßnahmen lauten wie folgt:

  • ToolStripDropDown-Steuerelemente erfordern von AllWindows die Anzeige von Elementen in einem ToolStripControlHost. Dies gilt sowohl für intrinsische Steuerelemente wie ToolStripTextBox, ToolStripComboBox und ToolStripProgressBar als auch für vom Benutzer erstellte Steuerelemente. Wenn diese Anforderung nicht erfüllt ist, werden diese Elemente nicht angezeigt. Es wird keine Ausnahme ausgelöst.

  • Das Festlegen der Eigenschaft AutoClose auf false ist nicht zulässig, und der abbrechbare Ereignisparameter Closing wird ignoriert. Dadurch wird es unmöglich, mehr als eine Tastatureingabe vorzunehmen, ohne das Dropdownelement zu schließen. Wenn diese Anforderung nicht erfüllt ist, werden solche Elemente nicht angezeigt. Es wird keine Ausnahme ausgelöst.

  • Viele Ereignisse zur Verarbeitung von Tastatureingaben werden nicht ausgelöst, wenn sie in anderen Kontexten mit teilweiser Vertrauenswürdigkeit als AllWindows auftreten.

  • Zugriffsschlüssel werden nicht verarbeitet, wenn AllWindows nicht erteilt wurde.

Verwendung

Die folgenden Verwendungsmuster haben Einfluss auf das ToolStrip-Layout, die Tastaturinteraktion und das Verhalten der Endbenutzer:

  • Einbindung in einem ToolStripPanel

    Das ToolStrip kann innerhalb von ToolStripPanel und über ToolStripPanel-Instanzen hinweg neu positioniert werden. Die Dock-Eigenschaft wird ignoriert, und wenn die Stretch-Eigenschaft false lautet, nimmt die Größe von ToolStrip zu, wenn Elemente dem ToolStripPanel hinzugefügt werden. Normalerweise ist ToolStrip nicht an der Aktivierreihenfolge beteiligt.

  • Angedockt

    Das ToolStrip wird an einer Seite eines Containers an einer festen Position platziert und seine Größe dehnt sich über die gesamte Kante aus, an der er angedockt ist. Normalerweise ist ToolStrip nicht an der Aktivierreihenfolge beteiligt.

  • Absolute Positionierung

    Diese ToolStrip-Instanz ist wie andere Steuerelemente, da es über die Eigenschaft Location platziert wird, eine feste Größe hat und normalerweise an der Aktivierreihenfolge beteiligt ist.

Tastaturinteraktion

Zugriffsschlüssel

In Kombination mit oder im Anschluss an die ALT-TASTE sind Zugriffsschlüssel eine Möglichkeit, ein Steuerelement mithilfe der Tastatur zu aktivieren. ToolStrip unterstützt sowohl explizite als auch implizite Zugriffsschlüssel. Bei der expliziten Definition wird ein kaufmännisches Und (&) vor dem Buchstaben verwendet. Die implizite Definition verwendet einen Algorithmus, der versucht, ein passendes Element anhand der Reihenfolge der Zeichen in einer bestimmten Text-Eigenschaft zu finden.

Tastenkombinationen

Die Tastenkombinationen, die von einem MenuStrip verwendet werden, verwenden eine Kombination der Keys-Enumeration (die nicht geordnet ist), um die Tastenkombination zu definieren. Sie können die ShortcutKeyDisplayString-Eigenschaft auch verwenden, um eine Tastenkombination nur mit Text anzuzeigen, z. B. das Anzeigen von „Entf“ anstelle von „Entfernen“.

Die ALT-TASTE aktiviert MenuStrip, auf das durch MainMenuStrip verwiesen wird. Von dort aus navigiert STRG+TAB zwischen ToolStrip-Steuerelementen innerhalb von ToolStripPanel-Instanzen. Die TAB-TASTE und die Pfeiltasten auf der numerischen Tastatur navigieren zwischen Elementen in einer ToolStrip-Instanz. Ein spezieller Algorithmus sorgt für die Navigation in der Überlaufregion. Die LEERTASTE wählt ein ToolStripButton, ToolStripDropDownButton oder ToolStripSplitButton aus.

Fokus und Validierung

Wenn sie mit der ALT-TASTE aktiviert werden, übernehmen MenuStrip oder ToolStrip in der Regel nicht den Fokus von dem Steuerelement, das gerade den Fokus hat, oder entfernen den Fokus nicht vom aktuellen Steuerelement. Wenn ein Steuerelement innerhalb der MenuStrip-Instanz oder in einer Dropdownliste von MenuStrip gehostet wird, erhält das Steuerelement den Fokus, wenn der Benutzer die TAB-TASTE drückt. Im Allgemeinen werden die Ereignisse GotFocus, LostFocus, Enter und Leave von MenuStrip möglicherweise nicht ausgelöst, wenn sie über die Tastatur aktiviert werden. Verwenden Sie in solchen Fällen stattdessen die Ereignisse MenuActivate und MenuDeactivate.

CausesValidation ist standardmäßig false. Rufen Sie Validate explizit für Ihr Formular auf, um die Validierung durchzuführen.

Layout

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

Stapellayouts

Die Stapelung ist das Anordnen von Elementen nebeneinander an beiden Enden der ToolStrip-Instanz. In der folgenden Liste werden die Stapellayouts beschrieben.

Weitere Features von Stapellayouts

Alignment bestimmt das Ende der ToolStrip-Instanz, an der das Element ausgerichtet ist.

Wenn Elemente nicht in die ToolStrip-Instanz passen, wird automatisch eine Schaltfläche „Überlauf“ angezeigt. Die Einstellung Overflow der Eigenschaft legt fest, ob ein Element immer, bei Bedarf oder nie im Überlaufbereich angezeigt wird.

In dem LayoutCompleted-Ereignis können Sie die Placement-Eigenschaft untersuchen, um festzustellen, ob ein Element auf der Hauptinstanz von ToolStrip, im Überlauf von ToolStrip platziert wurde oder gar nicht angezeigt wird. Die typischen Gründe, warum ein Element nicht angezeigt wird, sind, dass das Element nicht auf die Hauptinstanz von ToolStrip passt und seine Overflow-Eigenschaft auf Never festgelegt wurde.

Sorgen Sie dafür, dass ToolStrip verschiebbar ist, indem Sie es in einer ToolStripPanel-Instanz ablegen und sein GripStyle auf Visible festlegen.

Weitere Layoutoptionen

Die anderen Layoutoptionen sind Flow und Table.

Flusslayout

Das Flow-Layout ist die Standardeinstellung für ContextMenuStrip, ToolStripDropDownMenu und ToolStripOverflow. Es ähnelt FlowLayoutPanel. Die Features des Flow-Layouts lauten wie folgt:

Tabellenlayout

Das Table-Layout ist die Standardeinstellung für StatusStrip. Es ähnelt TableLayoutPanel. Die Features des Flow-Layouts lauten wie folgt:

ToolStripItem

Die folgenden Themen beschreiben ToolStripItem und die Steuerelemente, die davon abgeleitet werden.

ToolStripItem ist die abstrakte Basisklasse für alle Elemente, die in eine ToolStrip-Instanz gelangen. Das folgende Objektmodell zeigt die ToolStripItem-Vererbungshierarchie.

Diagram that shows the ToolStripItem object model.

ToolStripItem-Klassen erben entweder direkt von ToolStripItem oder indirekt von ToolStripItem über ToolStripControlHost oder ToolStripDropDownItem.

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

In der folgenden Tabelle sind die vorhandenen ToolStripItem-Steuerelemente und die Container aufgeführt, in denen sie am besten aussehen. Obwohl jedes ToolStrip-Element in einem beliebigen von ToolStrip abgeleiteten Container untergebracht werden kann, wurden diese Elemente so entworfen, dass sie in den folgenden Containern am besten aussehen:

Hinweis

ToolStripDropDown wird nicht in der Designer-Toolbox angezeigt.

Enthaltenes Element ToolStrip MenuStrip ContextMenuStrip StatusStrip ToolStripDropDown
ToolStripButton Ja Nr. Nr. Nein Ja
ToolStripComboBox Ja Ja Ja Keine Ja
ToolStripSplitButton Ja Nr. Nein Ja Ja
ToolStripLabel Ja Nr. Nein Ja Ja
ToolStripSeparator Ja Ja Ja Keine Ja
ToolStripDropDownButton Ja Nr. Nein Ja Ja
ToolStripTextBox Ja Ja Ja Keine Ja
ToolStripMenuItem Keine Ja Ja Nr. Nr.
ToolStripStatusLabel Nr. Nr. Nein Ja Keine
ToolStripProgressBar Ja Nr. Nein Ja Keine
ToolStripControlHost Ja Ja Keine Ja Ja

ToolStripButton

ToolStripButton ist das Schaltflächenelement für ToolStrip. Sie können es mit verschiedenen Rahmenarten anzeigen und es zur Darstellung und Aktivierung von Betriebszuständen verwenden. Sie können auch festlegen, dass es standardmäßig den Fokus erhält.

ToolStripLabel

Die ToolStripLabel-Instanz bietet Bezeichnungsfunktionen in ToolStrip-Steuerelementen. ToolStripLabel ist wie ToolStripButton, das standardmäßig nicht den Fokus erhält und nicht als gedrückt oder hervorgehoben gerendert wird.

ToolStripLabel als gehostetes Element unterstützt Zugriffsschlüssel.

Verwenden Sie die Eigenschaften LinkColor, LinkVisited und LinkBehavior für eine ToolStripLabel-Instanz, um das Linksteuerelement in einer ToolStrip-Instanz zu unterstützen.

ToolStripStatusLabel

ToolStripStatusLabel ist eine Version von ToolStripLabel, die speziell für die Verwendung in StatusStrip konzipiert ist. Zu den besonderen Features gehören BorderStyle, BorderSides und Spring.

ToolStripSeparator

ToolStripSeparator fügt einer Symbolleiste oder einem Menü eine vertikale oder horizontale Linie hinzu, je nach Ausrichtung. Es ermöglicht die Gruppierung von oder die Unterscheidung zwischen Elementen, z. B. in einem Menü.

Sie können ein ToolStripSeparator zur Entwurfszeit hinzufügen, indem Sie es aus einer Dropdownliste auswählen. Sie können jedoch auch automatisch ein ToolStripSeparator erstellen, indem Sie einen Bindestrich (-) entweder im Designer-Vorlagenknoten oder in der Add-Methode eingeben.

ToolStripControlHost

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

  • Erstellen Sie eine ToolStripControlHost-Klasse mit einer Klasse, die von Control abgeleitet ist. Um uneingeschränkten Zugriff auf das gehostete Steuerelement und die Eigenschaften zu erhalten, müssen Sie die Control-Eigenschaft wieder in die eigentliche Klasse umwandeln, die sie darstellt.

  • Erweitern Sie ToolStripControlHost, und rufen Sie im parameterlosen Konstruktor der geerbten Klasse den Konstruktor der Basisklasse auf, indem Sie eine Klasse übergeben, die von Control abgeleitet ist. Mit dieser Option können Sie allgemeine Steuerelementmethoden und Eigenschaften für den einfachen Zugriff in einer ToolStrip-Instanz umschließen.

ToolStripComboBox

ToolStripComboBox ist das ComboBox, das für das Hosting in einer ToolStrip-Instanz optimiert ist. Eine Teilmenge der Eigenschaften und Ereignisse des gehosteten Steuerelements werden auf der ToolStripComboBox-Ebene verfügbar gemacht, aber das zugrunde liegende ComboBox-Steuerelement ist vollständig über die ComboBox-Eigenschaft zugänglich.

ToolStripTextBox

ToolStripTextBox ist das TextBox, das für das Hosting in einer ToolStrip-Instanz optimiert ist. Eine Teilmenge der Eigenschaften und Ereignisse des gehosteten Steuerelements werden auf der ToolStripTextBox-Ebene verfügbar gemacht, aber das zugrunde liegende TextBox-Steuerelement ist vollständig über die TextBox-Eigenschaft zugänglich.

ToolStripProgressBar

ToolStripProgressBar ist das ProgressBar, das für das Hosting in einer ToolStrip-Instanz optimiert ist. Eine Teilmenge der Eigenschaften und Ereignisse des gehosteten Steuerelements werden auf der ToolStripProgressBar-Ebene verfügbar gemacht, aber das zugrunde liegende ProgressBar-Steuerelement ist vollständig über die ProgressBar-Eigenschaft zugänglich.

ToolStripDropDownItem

ToolStripDropDownItem ist die abstrakte Basisklasse für ToolStripMenuItem, ToolStripDropDownButton und ToolStripSplitButton, die Elemente direkt oder zusätzliche Elemente in einem Dropdowncontainer hosten können. Dazu legen Sie die DropDown-Eigenschaft auf ToolStripDropDown und die Items-Eigenschaft der ToolStripDropDown-Instanz fest. Greifen Sie direkt über die DropDownItems-Eigenschaft auf diese Dropdownelemente zu.

ToolStripMenuItem

ToolStripMenuItem ist ein ToolStripDropDownItem, das mit ToolStripDropDownMenu und ContextMenuStrip arbeitet, um die spezielle Hervorhebung, das Layout und die Spaltenanordnung für Menüs zu übernehmen.

ToolStripDropDownButton

ToolStripDropDownButton sieht wie ToolStripButton aus, aber zeigt einen Dropdownbereich an, wenn der Benutzer darauf klickt. Blenden Sie den Dropdownpfeil ein oder aus, indem Sie die ShowDropDownArrow-Eigenschaft festlegen. ToolStripDropDownButton hostet eine ToolStripOverflowButton-Instanz, die Elemente anzeigt, die ToolStrip überlaufen.

ToolStripSplitButton

ToolStripSplitButton kombiniert die Funktionalität von Schaltflächen und Dropdownlisten.

Verwenden Sie die DefaultItem-Eigenschaft, um das Click-Ereignis des gewählten Dropdownlistenelements mit dem auf der Schaltfläche angezeigten Element zu synchronisieren.

Generische Features von ToolStripItem

ToolStripItem stellt die folgenden generischen Features und Optionen für vererbende Steuerelemente bereit:

  • Kernereignisse

  • Bildbehandlung

  • Ausrichtung

  • Text- und Bildbeziehung

  • Anzeigestil

Kernereignisse

ToolStripItem-Steuerelemente erhalten ihre eigenen Klick-, Maus- und Zeichenereignisse und können auch einige Tastaturvorverarbeitungen durchführen.

Bildbehandlung

Die Eigenschaften Image, ImageAlign, ImageIndex, ImageKey und ImageScaling beziehen sich auf verschiedene Aspekte der Bildbehandlung. Verwenden Sie Bilder in ToolStrip-Steuerelementen, indem Sie diese Eigenschaften direkt festlegen oder indem Sie die nur für die Laufzeit zulässige ImageList-Eigenschaft festlegen.

Die Bildskalierung wird durch die Interaktion von Eigenschaften in ToolStrip und ToolStripItem wie folgt bestimmt:

Ausrichtung

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

Die Elemente werden in der Reihenfolge auf der ToolStrip-Instanz platziert, in der sie in der Elementsammlung angezeigt werden. Um programmgesteuert zu ändern, wo ein Element angeordnet ist, verwenden Sie die Insert-Methode, um das Element in der Sammlung zu verschieben. Diese Methode verschiebt das Element, dupliziert es aber nicht.

Text- und Bildbeziehung

Die TextImageRelation-Eigenschaft definiert die relative Platzierung des Bilds in Bezug auf den Text in einer ToolStripItem-Instanz. Elemente, bei denen ein Bild, ein Text oder beides fehlt, werden als Sonderfälle behandelt, sodass ToolStripItem für das fehlende Element oder die fehlenden Elemente keine leere Stelle anzeigt.

Anzeigestil

DisplayStyle ermöglicht es Ihnen, die Werte der Text- und Bildeigenschaften eines Elements festzulegen und dabei nur das anzuzeigen, was Sie möchten. Dies wird normalerweise verwendet, um nur den Anzeigestil zu ändern, wenn das gleiche Element in einem anderen Kontext angezeigt wird.

Zubehörklassen

Klassen, die verschiedene andere Funktionen bereitstellen, umfassen Folgendes:

  • ToolStripManager unterstützt ToolStrip-bezogene Aufgaben für ganze Anwendungen, z. B. Zusammenführung, Einstellungen und Rendereroptionen.

  • ToolStripRenderer ermöglicht es Ihnen, einen bestimmten Stil oder ein bestimmtes Design problemlos auf eine ToolStrip-Instanz anzuwenden.

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

  • ToolStripSystemRenderer wendet Systemfarben und einen flachen visuellen Stil auf ToolStrip-Anwendungen an.

  • ToolStripContainer ist ähnlich wie SplitContainer. Es verwendet vier angedockte Seitenbereiche (Instanzen von ToolStripPanel) und einen zentralen Bereich (eine Instanz von ToolStripContentPanel), um eine typische Anordnung zu erstellen. Sie können die Seitenbereiche nicht entfernen, aber ausblenden. Sie können den zentralen Bereich weder entfernen noch ausblenden. Sie können ein oder mehrere ToolStrip-, MenuStrip- oder StatusStrip-Steuerelemente in den Seitenbereichen anordnen und den zentralen Bereich für andere Steuerelemente verwenden. ToolStripContentPanel bietet auch eine Möglichkeit, Rendererunterstützung in den Textkörper Ihres Formulars zu integrieren, um eine einheitliche Darstellung sicherzustellen. ToolStripContainer unterstützt die Schnittstelle für mehrere Dokumente (Multiple Document Interface, MDI) nicht.

  • ToolStripPanel bietet Platz zum Verschieben und Anordnen von ToolStrip-Steuerelementen. Sie können bei Bedarf nur einen Bereich verwenden und ToolStripPanel funktioniert gut in MDI-Szenarien.

Siehe auch