2009-07-22 5 views
4

Ich verwende DevExpress-Steuerelemente in einer Winform-App, die ich für den internen Gebrauch erstellen. Meine App hat insgesamt etwa 30 Formulare und ich versuche herauszufinden, wie ich meinen Nutzern die Auswahl eines Themas ermöglichen kann. Ich habe das hier bei SO schon mehrfach in Antworten auf andere Beiträge gesehen.Erlaube dem Benutzer ausgewählt Global Theme für Winform-App

Ich verstehe, wie der StyleController funktioniert, glaube ich, aber was ich mich wundere ist, wie ich 1 Style-Controller für die ganze App verwenden kann.

Im Moment versuche ich 1 StlyeController in der Shell-Form zu erstellen und dann einen Verweis auf jedes untergeordnete Formular zu übergeben. Von dort muss ich dann die StyleController-Eigenschaft für jedes Steuerelement programmatisch festlegen. Es macht mir nichts aus, ich frage mich nur, besonders von denen, die das getan haben, wenn es einen einfacheren Weg gibt?

+0

@Refracted Paladin: Ich habe meine Antwort aktualisiert, um einen allgemeineren Code in der Methode SetSkinStyle() zu verwenden. Anstelle des vorherigen "MyConfiguration.SkinName" übergebe ich den Skinnamen "Black". –

Antwort

8

Es ist sehr einfach. In diesem Beispiel wird davon ausgegangen, dass Sie Skins verwenden.

im Konstruktor Ihrer Hauptform Anrufe:

DevExpress.Skins.SkinManager.EnableFormSkins(); 

Dies wird Ihre Form ermöglichen, die aktuelle Haut zu verwenden. Es ist auch wichtig, dass jedes Ihrer Formulare von XtraForm abgeleitet ist.

Danach können Sie den globalen Blick einrichten müssen und fühlen Objekt für Ihre Anwendung:

//This set the style to use skin technology 
DevExpress.LookAndFeel.UserLookAndFeel.Default.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Skin; 

//Here we specify the skin to use by its name   
DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle("Black"); 

Wenn Sie das Aussehen und Verhalten Ihrer Anwendung wie Office 2003 festlegen möchten, ist das Setup anders. Sie müssen nur die folgende Funktion aufrufen:

DevExpress.LookAndFeel.UserLookAndFeel.Default.SetOffice2003Style(); 

So wird jede Kontrolle von DevExpress diese Einstellungen verwenden, um sich selbst zu malen. Es ist möglich, ein benutzerdefiniertes LookAndFeel-Objekt für einige Steuerelemente anzugeben, aber ich habe es nie verwendet, weil ich den Punkt nicht sehe, um eine benutzerdefinierte Anzeige für ein Steuerelement oder ein Formular zu haben.

Ausnahme: Es gibt eine Ausnahme in DevExpress Rahmen. Die NavBarControl die Haut nicht-Technologie verwenden, um automatisch von Ihrem globalen LookAndFeel Objekt, müssen Sie eine Einstellung festlegen, dass aktivieren:

//To use the current skin 
youNavBarControl.PaintStyleName = "SkinNavigationPane"; 

//To use the current look and feel without the skin 
youNavBarControl.PaintStyleName = "NavigationPane"; 
+0

Ich nehme wahrscheinlich diesen Weg zu Literal, aber in -> (MyConfiguration.SkinName); Was bedeutet MyConfiguration? –

+0

Entschuldigung, ich habe MyConfiguration verwendet, um einfach den Code zu schreiben. In meinem Fall stellt MyConfiguration eine Klasse dar, die die Konfigurationsinformationen meiner Anwendung und damit den beim Start der Anwendung zu verwendenden Skinnamen enthält. Sie können MyConfiguration ersetzen.SkinName mit Ihrer eigenen Zeichenfolge oder wenn Sie Ihren Code sofort testen möchten, können Sie die folgende Zeichenfolge verwenden: "The Asphalt World", "Blue", "Black", "Caramel" oder "Lilian", die mit dem Basiston ausgeliefert werden DevExpress. –

1

Mit der Version 11.2 ich die Informationen in diesem Artikel verwendet: http://www.devexpress.com/Support/Center/p/K18013.aspx

In Zusammenfassung:
* Inherit alle Formen von Flex XtraForm * Lassen sie aussehen und Standard fühlen Einstellungen so, dass sie die Standard-Skin
* die Standard-Skin ändern verwenden, um mit der folgenden Codezeile:
DevExpress.LookAndFeel.UserLookAndFeel.Default.SkinName = "DevExpress Dark Style";

Verwandte Themen