Quelle: dotnetpro
Ein Steuerelement für Schnellbefehle, Teil 9 16.08.2021, 00:00 Uhr

Designvariationen

Die Methode DrawStyle aktualisiert das Aussehen der Schnellbefehle.
Ausgangspunkt der Ausgabefunktion für die Steuerelemente zum Verwalten und Ausführen von Schnellbefehlen ist die Bibliothek QuickCommandCtls, die bereits Hilfsfunktionen, Verwaltungsfunktionen sowie diverse Steuerelemente enthält. Das Hauptelement für die Schnellbefehle heißt QuickCommandCtl. Über die Bibliothek stehen erweiterte Bezeichnungsfelder (Text3D) und Schaltflächen (Button3D) sowie ein Liniensteuerelement (Line3D) bereit. Die Benutzersteuerelemente bieten 3D-Modi, Farbverlaufs- und Symbolfunktionen. Alle Steuerelemente der Bibliothek nutzen gemeinsame Bildressourcen und greifen bei Bedarf auf .NET-Standardsteuerelemente zurück. Dies erleichtert die spätere Verteilung und den Einsatz der Bibliothek (siehe [1] bis [8]). Alle für die variablen Designs erforderlichen Eigenschaften wurden bereits definiert, sodass sich dieser abschließende Teil der Serie rein auf die Ausgabe der Designs kon­zen­triert.
Bild 1 zeigt den Aufbau des Steuerelements. Es wurde von UserControl abgeleitet, verwendet ein Kontextmenü, das im Entwurfsmodus vordefiniert und über die Eigenschaft ContextMenuStrip an das Steuerelement gebunden wurde. Alle anderen Angaben für die Designs werden auf Quelltext­ebene gesetzt, wobei untergeordnete Controls nach Bedarf instanziert und an die Designstile angepasst werden. Bei Standarddesigns kommen einfache Labels zum Einsatz. Das Label für den Funktionstext hat den Namen MainLabelCtl und das Bezeichnungsfeld für die Ausgabe des Beschreibungstextes heißt SubLabelCtl. Bei Designstilen mit 3D-Funktionalität kommen Bezeichnungsfelder des Typs Text3D zum Einsatz. Sie heißen MainLabel3DCtl (Funktionstext) und SubLabel3DCtl (Beschreibungstext). Das Instanzieren der Steuerelemente und das Setzen ihrer Eigenschaften erfolgt über die Methode DrawStyle. Diese wird beim Setzen der meisten Eigenschaften, die das Design beeinflussen, direkt aufgerufen. Optional einblendbare Trennlinien zwischen Funktions- und Beschreibungstext werden über GDI+-Zeichenmethoden ausgegeben. Eine Invalidate-Anweisung sorgt dabei für das Neuzeichnen im Paint-Ereignis.

Jetzt 1 Monat kostenlos testen!

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
  • + Digitales Kundenkonto,
  • + Zugriff auf das digitale Heft,
  • + Zugang zum digitalen Heftarchiv,
  • + Auf Wunsch: Weekly Newsletter,
  • + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar