当前位置: 首页 > news >正文

“Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!

概述

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主题是一个更为轻松的主题。

Material theme

Material Dark theme

以下是 ComponentOne 控件在默认主题和Material主题中的外观比较:
introduction-to-material-design-in-winform-apps_3.png

introduction-to-material-design-in-winform-apps_4.png
introduction-to-material-design-in-winform-apps_5.png

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

WinForms Material Designer

WinForms Material Designer

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

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

请参阅材料主题设计器:

WinForms Material Design

将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或文件>新建。 选择“材质”作为新主题的基本主题。

Select base theme

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

Colors used in Material Design

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

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

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

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

Select a primary color

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

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

ComponentOne Enterprise | 下载试用

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

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

相关文章:

  • Hihicoder 题目1 : Trie树(字典树,经典题)
  • Memcached理解笔记1---安装常规错误监控
  • linux extglob模式 和rm反选
  • LOJ2541:「PKUWC2018」猎人杀
  • Redis 二:入门基本篇
  • 2019预测:三大专家视角解读云计算、无服务器等关键趋势
  • mysql学习笔记--第1天
  • Flink-数据流编程模型
  • 最全的Android开发资源整理--进阶必备
  • Zookeeper请求处理
  • yii2 render和renderPartial区别
  • [20181219]script使用小技巧.txt
  • “寻梦之路 阿里之行”北城大数据学院学生代表团赴北京阿里中心参观
  • 二叉搜索树
  • BestCoder Round #1 第一题 逃生
  • .pyc 想到的一些问题
  • Cookie 在前端中的实践
  • Create React App 使用
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • MySQL的数据类型
  • SpringBoot几种定时任务的实现方式
  • webgl (原生)基础入门指南【一】
  • 基于遗传算法的优化问题求解
  • 判断客户端类型,Android,iOS,PC
  • 深度解析利用ES6进行Promise封装总结
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 微信开放平台全网发布【失败】的几点排查方法
  • 学习使用ExpressJS 4.0中的新Router
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #ifdef 的技巧用法
  • #Ubuntu(修改root信息)
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #考研#计算机文化知识1(局域网及网络互联)
  • (16)Reactor的测试——响应式Spring的道法术器
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (蓝桥杯每日一题)love
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)Sublime Text3配置Lua运行环境
  • .axf 转化 .bin文件 的方法
  • @RequestMapping处理请求异常
  • [ 2222 ]http://e.eqxiu.com/s/wJMf15Ku
  • [2013][note]通过石墨烯调谐用于开关、传感的动态可重构Fano超——
  • [Angular 基础] - 自定义指令,深入学习 directive
  • [c]扫雷
  • [C语言][PTA基础C基础题目集] strtok 函数的理解与应用
  • [HackMyVM]靶场Boxing
  • [HAOI2016]食物链
  • [JavaWeb学习] Spring Ioc和DI概念思想
  • [LeetCode][LCR190]加密运算——全加器的实现
  • [Mvc]在ASP.NET MVC中使用Repeater
  • [Oh My C++ Diary]头文件使用之math.h与cmath
  • [Ruby] 基础知识
  • [SHELL]shell scripts笔记(1)