【问题标题】:Allowing user selected Global Theme for winform app允许用户为 winform 应用程序选择全局主题
【发布时间】:2009-07-22 14:31:08
【问题描述】:

我正在为内部使用而构建的 winform 应用程序中使用 DevExpress 控件。我的应用程序总共有大约 30 个表单,我正在尝试找出一种方法让我的用户选择一个主题。我在其他帖子的回答中多次看到这里提到过这个。

我相信我了解 StyleController 的工作原理,但我想知道如何将 1 Style 控制器用于整个应用程序。

现在我正在尝试在 Shell 表单中创建 1 个 StlyeController,然后将对它的引用传递给每个子表单。然后我必须从那里以编程方式为每个控件设置 StyleController 属性。我不介意我只是想知道,尤其是那些做过这件事的人,是否有更简单的方法?

【问题讨论】:

  • @Refracted Paladin:我更新了我的答案,在 SetSkinStyle() 方法中使用了更通用的代码。我传递的是皮肤名称“Black”,而不是之前的“MyConfiguration.SkinName”。

标签: user-interface themes devexpress


【解决方案1】:

这很简单。此示例假设您正在使用皮肤。

在主窗体调用的构造函数中:

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

【讨论】:

  • 我可能正在采取这种方式来文字但在 --> (MyConfiguration.SkinName); MyConfiguration 代表什么?
  • 对不起,我使用 MyConfiguration 来简化代码。在我的例子中,MyConfiguration 代表一个类,它保存我的应用程序的配置信息,因此在应用程序启动时使用的皮肤名称。您可以将 MyConfiguration.SkinName 替换为您自己的字符串,或者如果您想立即测试您的代码,您可以使用以下字符串:“The Asphalt World”、“Blue”、“Black”、“Caramel”或“Lilian” DevExpress 附带的基本皮肤名称。
【解决方案2】:

在 11.2 版本中,我使用了本文中的信息: http://www.devexpress.com/Support/Center/p/K18013.aspx

总结:
* 从 XtraForm 继承您的所有表单 * 保留外观设置默认值,以便它们使用默认皮肤
* 使用以下代码行修改默认皮肤:
DevExpress.LookAndFeel.UserLookAndFeel.Default.SkinName = "DevExpress 深色风格";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-07
    • 1970-01-01
    • 1970-01-01
    • 2011-12-12
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    相关资源
    最近更新 更多