2009-07-22 43 views
4

我使用的DevExpress控件的winform應用程序我建立供內部使用。我的應用程序總共有大約30個表單,我試圖找出讓用戶選擇主題的方法。我多次在其他帖子的回覆中看到過這裏提到的這個。允許用戶選擇的全球主題爲winform應用程序

我明白StyleController是如何工作的,我相信,但我想知道的是如何在整個應用程序中使用1樣式控制器。

現在我正試圖在Shell窗體中創建1個StlyeController,然後將引用傳遞給每個子窗體。然後,我必須以編程方式爲每個控件設置StyleController屬性。我不介意我只是想知道,特別是那些做過這些的人,如果有一個更簡單的方法?

+0

@Refracted聖騎士:我更新了我的答案在SetSkinStyle()方法,使用更通用的代碼。而不是以前的「MyConfiguration.SkinName」,我傳遞了皮膚名稱「黑色」。 – 2009-07-23 03:57:56

回答

8

這是非常簡單的。這個例子假設你正在使用皮膚。

在主窗體調用構造函數:

DevExpress.Skins.SkinManager.EnableFormSkins(); 

這將使您的形式使用當前的皮膚。同樣重要的是,您的每個表格都從XtraForm派生。

之後,你需要建立全球的外觀對象爲您的應用程序:

//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"); 

如果你想將自己的應用如Office 2003的外觀和感覺,設置是不同的。你只需要調用下面的函數:

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

所以,DevExpress的每個控件將使用這些設置來畫自己。可以爲某些控件指定自定義LookAndFeel對象,但我從來沒有使用它,因爲我沒有看到爲控件或表單定製顯示的要點。

例外: 在Devexpress框架中有一個例外。該NavBarControl不會自動從全局的LookAndFeel對象使用皮膚技術,你需要指定的設置來啓用:

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

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

我可能採取這種方式,但在 - >(MyConfiguration.SkinName); MyConfiguration代表什麼? – 2009-07-22 20:09:19

+0

對不起,我使用MyConfiguration來簡單的代碼。在我的例子中,MyConfiguration代表了一個類,它保存了我的應用程序的配置信息,並因此保存了應用程序啓動時使用的外觀名稱。 您可以替換MyConfiguration。SkinName由你自己的字符串或如果你想馬上測試你的代碼,你可以使用下面的字符串:「瀝青世界」,「藍色」,「黑色」,「焦糖」或「Lilian」 DevExpress的。 – 2009-07-22 21:01:14

1

11.2版本,我用這篇文章中的信息: http://www.devexpress.com/Support/Center/p/K18013.aspx

在摘要:
*繼承所有的形式從XtraForm *發表的外觀和讓他們使用默認的皮膚
*修改與下面的代碼行默認的皮膚感覺設置默認:
DevExpress.LookAndFeel.UserLookAndFeel.Default.SkinName =「DevExpress Dark Style」;

相關問題