Quelle: dotnetpro
Ein Steuerelement für Schnellbefehle, Teil 8 19.07.2021, 00:00 Uhr

Dynamic Controls

Neue Steuerelemente dynamisch erzeugen.
User Controls werden aus bestehenden Steuerelementen zusammengesetzt oder via GDI oder GDI+ neu gezeichnet. Komplexere Eingabemasken erstellen Sie beispielsweise mit Text- und Bezeichnungsfeldern und erweitern sie mithilfe von Befehlsschaltflächen um Zusatzfunktionen, beispielsweise zum Laden und Speichern von Datensätzen. Um Eingabemasken dynamisch aufzubauen und an unterschiedliche Datenformate anzupassen, ist das Anlegen der Steuerelemente auf Quelltext­ebene erforderlich. In dieser Serie wurden etliche Steuerelemente (Text3D, Button3D und Line3D) zusammen mit einem Steuerelement zum Verwalten und Ausführen von Schnellbefehlen (QuickCommandCtl) in einer Steuerelementbibliothek (QuickCommandCtls) zusammengefasst. Die Bibliothek besitzt gemeinsam genutzte Bildressourcen und ein Quellmodul namens HelperFunctions.vb mit gemeinsam genutzten Funktionen. Weitere Verwaltungsfunktionen für die Schnellbefehle wurden über das Modul UserCommandManagement.vb angebunden. Außerdem wurde ein Assistent zur komfortablen Definition von Schnellbefehlen ergänzt (frmQuickCommandAssistent), mehr dazu lesen Sie in [1] bis [7].
Das Steuerelement zum Eingeben und Ausführen von Schnellbefehlen wurde von UserControl abgeleitet. Es besitzt einen Entwurfsbereich, auf dem Sie untergeordnete Steuerelemente platzieren. In der ersten Ausbaustufe wurden zwei Bezeichnungsfelder und ein Bildfeld fest positioniert. Das Aussehen wurde somit vollständig vorgegeben, siehe Bild 1. Das größere Label dient der Ausgabe einer Funktionsbezeichnung und das kleinere der Ausgabe einer Funktionsbeschreibung. Das Bildfeld nutzt Bildressourcen der Funktionsbibliothek, um den Schnellbefehlstyp zu veranschaulichen beziehungsweise anzuzeigen, dass der Schnellbefehl vom Benutzer bearbeitet werden kann. Funktions- und Beschreibungstexte sowie die Auswahl des anzuzeigenden Symbols wurden über Eigenschaften offengelegt, ebenso wie die Befehle zur Definition der Schnellbefehle. Bei der späteren Verwendung in Formularen konnten damit alle erforderlichen Spezialisierungen vorgenommen werden. Für den Aufruf untergeordneter Funktionen wurde das Steuerelement mit einem Kontextmenü ausgestattet.

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