找回密码
 立即注册

QQ登录

只需一步,快速开始

frank.zhang

社区贡献组

83

主题

4000

帖子

6万

积分

社区贡献组

积分
69459

活字格认证微信认证勋章元老葡萄

frank.zhang
社区贡献组   /  发表于:2015-2-17 10:32  /   查看:8142  /  回复:4
问题描述:添加C1Themes到WinForms应用程序
问题解答:本文介绍如何添加C1Themes到已经存在的WinForms应用程序。C1Themes内置超过25种专业设计的主题,也可以自定义主题,用于应用程序。本文主要介绍了给C1FlexGrid和C1TrueDBGrid设置主题,根据下述步骤,也可以给ComponentOne Studio for WinForms的C1Report,C1Ribbon以及其他控件,添加C1Themes。

关键代码:
  1. private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
  2.       {
  3.           // Set theme on the theme controller:
  4.           this.c1ThemeController1.Theme = this.comboBox1.SelectedItem.ToString();
  5.           // ...and apply it to all themable controls (this will override any control-specific theme settings):
  6.           Action setTheme = null;
  7.           setTheme = (c) =>
  8.           {
  9.               if (C1.Win.C1Themes.C1ThemeController.IsObjectThemeable(c))
  10.                   this.c1ThemeController1.SetTheme(c, this.c1ThemeController1.Theme);
  11.               foreach (Control cc in c.Controls)
  12.                   setTheme(cc);
  13.           };
  14.           setTheme(this);
  15.       }
  16.   }
复制代码


效果截图:



源码下载:
添加C1Themes到WinForms应用程序示例

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

4 个回复

倒序浏览
handk
社区贡献组   /  发表于:2015-4-7 11:52:00
沙发
计划给所有的窗体添加主题,但这个样例代码的效率异常的低效,不知是否有更好的方式。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-4-10 18:26:00
板凳
回复 2楼handk的帖子

这个是个已知问题,已经提交到产品组,会在后续版本进行验证和修复。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
handk
社区贡献组   /  发表于:2015-12-25 13:43:00
地板
回复 3楼Alice的帖子

请问Alice,设置主题效率低的问题修复了吗?
如果修复了,是在哪一版修复的呢?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-1-13 12:17:00
5#
回复 4楼handk的帖子

很抱歉回复晚了。
还没收到修复的通知。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部