combit List & Label 30 - .NET Hilfe
Einführung in die Programmierung / Weitere wichtige Konzepte / Designer anpassen und erweitern
Designer anpassen und erweitern

Der Designer ist für die Anwendung keine "Black Box", sondern kann in vielen Bereichen beeinflusst werden. Neben dem Sperren von Funktionen und Menüpunkten können eigene Elemente hinzugefügt werden, die Berechnungen, Aktionen oder Ausgaben in die Funktionslogik verlegen.

 

 

Menüpunkte, Objekte und Funktionen sperren

Dreh- und Angelpunkt für die Designereinschränkung ist die Eigenschaft DesignerWorkspace des ListLabel-Objekts. Diese bietet die in der folgenden Tabelle aufgelisteten Eigenschaften für die Designereinschränkung:

Property Function
ProhibitedActions Diese Eigenschaft dient dazu, einzelne Menüpunkte aus dem Designer zu entfernen.
ProhibitedFunctions Diese Eigenschaft dient dazu, einzelne Funktionen aus dem Designer zu entfernen.
ReadOnlyObjects Diese Eigenschaft dient dazu, Objekte im Designer gegen Bearbeitung zu sperren. Die Objekte sind weiterhin sichtbar, können aber innerhalb des Designers nicht bearbeitet oder gelöscht werden.

Das folgende Beispiel zeigt, wie der Designer so angepasst werden kann, dass kein neues Projekt mehr angelegt werden kann. Zudem wird die Funktion ProjectPath$ entfernt und das Objekt "Demo" gegen Bearbeitung gesperrt:

ListLabel LL = new ListLabel();
LL.DataSource = CreateDataSet();

LL.DesignerWorkspace.ProhibitedActions.Add(LlDesignerAction.FileNew);
LL.DesignerWorkspace.ProhibitedFunctions.Add("ProjectPath$");
LL.DesignerWorkspace.ReadOnlyObjects.Add("Demo");

LL.Design();
LL.Dispose();

 

Designer erweitern

Der Designer kann um eigene Funktionen (DesignerFunctions), Objekte (DesignerObjects) und Aktionen (DesignerActions) erweitert werden. Eigene Funktionen können dafür verwendet werden, komplexere Berechnungen in die Applikation zu verlegen bzw. Funktionalitäten nachzurüsten, die im Standardumfang des Designers nicht vorhanden sind. Beispiele für eigene Objekte oder Aktionen sowie eine weitere eigene Funktion zeigt das mitgelieferte .NET Beispiel Designer Extension Sample.

 

Sprachen im Designer anmelden

Im Designer können verschiedene Sprachen angemeldet werden, um damit später Projektdateien einfach lokalisieren zu können. Wie die Übersetzungen durchgeführt werden können zeigt Projektdateien im Designer lokalisieren. Hier werden nun die drei Sprachen Englisch, Deutsch und Französisch angemeldet und können später im Designer vom Anwender einfach im Menü gewechselt werden:

                
// Define LCIDs
int designerLanguageLCIDen = new CultureInfo("en").LCID;
int designerLanguageLCIDde = new CultureInfo("de").LCID;
int designerLanguageLCIDfr = new CultureInfo("fr").LCID;

// Add/declare the available design languages
// according to their respective LCID
LL.DesignerWorkspace.DesignerLanguages.Add(designerLanguageLCIDde);
LL.DesignerWorkspace.DesignerLanguages.Add(designerLanguageLCIDen);
LL.DesignerWorkspace.DesignerLanguages.Add(designerLanguageLCIDfr);