概述

Material Design设计规范的受欢迎程度和实用性已经引起了 ComponentOne 技术团队的重视。ComponentOne Enterprise 2018V3 版本将全面支持Material specs的功能集。 在此之前,我们已经在ASP.NET MVC和JavaScript控件中添加了 Material 支持。 随着Material Design的日益普及,我们的桌面用户也将可以使用, ComponentOne For WinForm在2018V3中针对材料设计规范增加了全新的主题设计。

将材料主题添加到WinForm 应用程序

ComponentOne For WinForm Edition中添加了全新的Material和Material Dark主题。 这些主题即可作为 ComponentOne 主题,也可应用于 WinForm 平台以及大多数常用的Microsoft 框架中。 这两个主题提供两种不同的配色方案,但遵循相同的材料原则和颜色规格,甚至可以作为未来材料主题的基本元素。 与Material Dark相比,Material主题是一个更为轻松的主题。

以下是 ComponentOne 控件在默认主题和Material主题中的外观比较:

使用WinForm Material Theme Designer创建新主题

Material Design颜色系统由主要颜色和次要颜色组成。 这些颜色反映了您的应用程序的主题和样式。 ComponentOne中提供的 Material Designer是一个交互式设计器,可让您为Material主题选择主要和次要风格样式。您可以保存主题并在以后直接将其应用于WinForm应用程序。

WinForms Material Designer

要更改主题的配色方案,请按照以下简单步骤操作:

  1. 运行Material Theme Designer示例。
  2. 单击“设置”选项卡,然后根据您的品牌/主题选择模板和强调颜色。
  3. 使用C1控件预览主题的外观。
  4. 单击cog图标以打开应用程序菜单。
  5. 单击“保存主题”将主题保存在首选位置。

请参阅材料主题设计器:

将Material Themes应用于WinForm 应用程序

材料主题设计器可以在 WinForm 应用程序的设计阶段和运行阶段启动。 您可以在设计时使用“主题控制器”对话框或通过修改“App.config”文件来应用主题。 要在运行时启动,请使用C1ThemeController静态类来应用主题。

使用主题控制器对话框

  1. 在Visual Studio的表单设计器中打开应用程序中的表单。

  2. 从设计器的工具箱中,拖动C1ThemeController并将其放在表单上。将出现ThemeController对话框。这使您可以选择:

    • 应用程序范围的默认主题,

    • 当前控制器的默认主题,

    • 所有支持控件的主题已经在表单上。

      在弹出的对话框中,主题最初被指定为“(none)”,适用于表单上已有的控件。这样做可以防止无意中更改这些控件上的属性设置。

  3. 单击对话框中的全部(默认)按钮,以便在所有控件上设置默认主题。注意:如果您已经自定义了一些控件,则会忽略此控件,并且不会还原默认主题。

  4. 从可用内置主题列表中选择“材质”。您还可以选择使用Material Theme Designer创建的材质主题。

  5. 单击上面提到的全部(默认)按钮,在窗体上的所有支持控件上设置默认主题。

  6. 单击确定按钮以关闭对话框并将指定的主题应用于窗体上的控件。

使用App.config文件

确保您的产品路径下包含C1.Win.C1Themes.dll。 您可以在App.Config中添加以下应用程序设置以应用基本主题:

<configuration>

  <appSettings>

      <add key="C1ApplicationTheme" value="Material"/>

  </appSettings>

</configuration>

使用代码

确保您的产品路径下包含C1.Win.C1Themes.dll。在加载前在您的应用程序中添加以下代码。

C1Theme theme = C1.Win.C1Themes.C1ThemeController.GetThemeByName(“Material”,
false);

C1ThemeController.ApplyThemeToControlTree(control, theme);

自定义材质主题(高级)

C1Theme Designer应用程序允许为WinForm Edition中的任何控件轻松设计新主题。 它还允许您编辑/修改现有主题以实现您选择的外观,或与应用程序主题匹配。 您可以进一步使用此应用程序将Material主题调整到控件允许的最精细级别。

主题是一个带有.c1theme扩展名的XML文件,它由一组属性及其值组成(它决定了控件的外观)。 主题在内部划分为对应于不同控件的不同部分。 所有其他控件都可以访问“基本主题属性”部分。 此部分包含子部分“材质”,该部分存储可以更改为创建不同材质主题的“材质”属性。

例如,下面让我们尝试更改FlexGrid的材质主题,其中标题是主要颜色。

如何使用WinForms Material Theme Designer

1、 从ComponentOne开始菜单打开ComponentOne主题设计器。 按Ctrl + N或文件>新建。 选择“材质”作为新主题的基本主题。

2、 单击BTP编辑器按钮(1)。 这将打开一个新的基本主题属性编辑器。 选择“材料”属性(2)。 在这里,您可以看到材质中使用的不同颜色:

3、 转到主题树并展开C1FlexGrid节点。

4、 展开C1FlexGrid>样式>固定节点。 此节点将保存固定(标题)单元格的样式。

5、 选择ForeColo下拉列表以打开颜色选择器。

6、 您可以在选择器下拉列表中选择“参考”选项卡以选择主要颜色。

7、 您可以保存此主题并按照“在应用程序中应用材料主题”部分中的说明使用它。 您的FlexGrid现在应该具有基于主要颜色设置的标题颜色。

欢迎您下载体验 ComponentOne Enterprise,并与我们分享您是如何设计桌面应用程序以及Material主题如何与您的应用程序协同工作的宝贵经验。


ComponentOne Enterprise | 下载试用

ComponentOne是一款专注于企业应用高性能开发的 .NET 全功能控件套包,包含300余种控件,支持7大平台,涵盖7大功能模块。较于市面上其他同类产品,ComponentOne更加轻盈,功能更加强大,20多年的开发经验,将为您的应用系统带来更为安全的使用体验。纯中文操作界面,一对一技术支持,厂商级的技术服务,共同造就了这款国际顶级控件套包。

您对ComponentOne 产品的任何技术问题,都有技术支持工程师提供1对1专业解答,点击此处即可发帖提问>> 技术支持论坛