DevExpress winform 更换主题
用到的控件有:
DevExpress.XtraBars.Ribbon.RibbonControl ribbonControl1;
DevExpress.XtraBars.Ribbon.RibbonPage ribbonPage1;
DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup1;
DevExpress.XtraBars.RibbonGalleryBarItem ribbonGalleryBarItem1
DevExpress.XtraBars.BarSubItem barSubItem1
添加引用:
using DevExpress.XtraBars.Helpers;
using DevExpress.XtraBars.Localization;
DevExpress.XtraBars.v12.2
DevExpress.BonusSkins.v12.2
DevExpress.XtraBars.Helpers.SkinHelper类允许你填充一个已存在的RibbonGalleryBarItem控件,或者其他的菜单(例如PopupMenu和BarSubItem)的项,当选择一个皮肤的时候,就能自动转变样式。
这回使用的是Ribbon窗体。
using System;
using System.Windows.Forms;
using DevExpress.XtraBars.Helpers;
using DevExpress.XtraBars.Localization;
namespace TestDevExpress
{
public partial class RibbonForm1 : DevExpress.XtraBars.Ribbon.RibbonForm
{
public RibbonForm1()
{
InitializeComponent();
}
private void RibbonForm1_Load(object sender, EventArgs e)
{
//设置本地化的类
BarLocalizer.Active = new CastorBarLocalizer();
SkinHelper.InitSkinGallery(ribbonGalleryBarItem1, true);
barSubItem1.Caption = "点我选皮肤";
SkinHelper.InitSkinPopupMenu(barSubItem1);
}
}
//该类确定本地化的实际工作方式
public class CastorBarLocalizer : BarLocalizer
{
public override string GetLocalizedString(BarString id)
{
if (id == BarString.SkinCaptions)
{
string str = base.GetLocalizedString(id);
//实现本地化,实际上就是替换字符串
return str.Replace("|DevExpress Style|", "|Castor的皮肤|");
}
return base.GetLocalizedString(id);
}
}
}
如果没有使用语句 BarLocalizer.Active = new CastorBarLocalizer(),则运行效果如下:
使用另一种方式填充的效果:
感觉都挺不错的,不过PopupMenu怎么也弄不出来,奇怪了。
public override string GetLocalizedString(BarString id)
{
switch(id)
{
case BarString.SkinsMain: return "标准皮肤";
case BarString.SkinsOffice: return "Office皮肤";
case BarString.SkinsBonus: return "扩展皮肤";
}
if (id == BarString.SkinCaptions)
{
string str = base.GetLocalizedString(id);
//实现本地化,实际上就是替换字符串
str = str.Replace("|DevExpress Style|", "|默认皮肤|");
str = str.Replace("|Caramel|", "|佳美|");
str = str.Replace("|Money Twins|", "|货币双城|");
str = str.Replace("|Lilian|", "|莉莲|");
str = str.Replace("|DevExpress Dark Style|", "|默认暗色皮肤|");
str = str.Replace("|iMaginary|", "|幻想|");
str = str.Replace("|Black|", "|黑色|");
str = str.Replace("|Blue|", "|蓝色|");
str = str.Replace("|Coffee|", "|咖啡|");
str = str.Replace("|Liquid Sky|", "|清澈的天空|");
str = str.Replace("|London Liquid Sky|", "|伦敦的天空|");
str = str.Replace("|Glass Oceans|", "|玻璃海洋|");
str = str.Replace("|Stardust|", "|凝视|");
str = str.Replace("|Xmas (Blue)|", "|圣诞(蓝色)|");
str = str.Replace("|Valentine|", "|默认皮肤|");
str = str.Replace("|McSkin|", "|苹果皮肤|");
str = str.Replace("|Summer|", "|夏季|");
str = str.Replace("|Pumpkin|", "|南瓜|");
str = str.Replace("|Dark Side|", "|黑暗面|");
str = str.Replace("|Springtime|", "|春季|");
str = str.Replace("|Darkroom|", "|暗房色|");
str = str.Replace("|Foggy|", "|雾色|");
str = str.Replace("|High Contrast|", "|高度对比|");
str = str.Replace("|Seven|", "|Win7|");
str = str.Replace("|Seven Classic|", "|经典 Win7|");
str = str.Replace("|Sharp|", "|夏普|");
str = str.Replace("|Sharp Plus|", "|夏普正式|");
str = str.Replace("|The Asphalt World|", "|沥青世界|");
str = str.Replace("|Blueprint|", "|蓝色映像|");
str = str.Replace("|Whiteprint|", "|白色映像|");
str = str.Replace("|Office 2007 Blue|", "|Office 2007 蓝色|");
str = str.Replace("|Office 2007 Black|", "|Office 2007 黑色|");
str = str.Replace("|Office 2007 Silver|", "|Office 2007 银色|");
str = str.Replace("|Office 2007 Green|", "|Office 2007 绿色|");
str = str.Replace("|Office 2007 Pink|", "|Office 2007 粉红|");
str = str.Replace("|Office 2010 Blue|", "|Office 2010 蓝色|");
str = str.Replace("|Office 2010 Black|", "|Office 2010 黑色|");
return str;
}
return base.GetLocalizedString(id);
DevExpress winform 更换主题相关推荐
- 界面控件DevExpress WinForm中文教程 - 如何使用模板库构建类Office UI?
DevExpress WinForm拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案.DevExpress WinForm能完美构建流畅.美观且易于使用的应用程 ...
- 使用 css/less 动态更换主题色(换肤功能)
前言 说起换肤功能,前端应该是非常熟悉了? 一般来说换肤的需求分为几种: 1. 纯前端,直接在页面前端通过点击自由切换限定的几种主题色,切换之后主题色变量存到本地浏览器 2. 在后台配置好色值,传到前 ...
- Extjs 更换主题(转载)
转自http://www.wenhaozhong.com/27.html 这里基于 Extjs4.2(发文时官方刚发布了最新版5.0) 进行开发的,更换主题后,主题信息保存在本地 cookie 中,如 ...
- linux mint 图标主题_如何在 Linux Mint 中更换主题
一直以来,使用 Cinnamon 桌面环境的 Linux Mint 都是一种卓越的体验.这也是为何我喜爱 Linux Mint的主要原因之一. -- It's Foss(作者) 一直以来,使用 Cin ...
- 主题图标_iPhone一键更换主题、图标神器
iOS图标虽然是经典,但是看久了也是会腻的.今天教大家一个简单的方法,来更换iPhone的图标. 更换主题.图标教程 前往App Store搜索[moloko]进行下载安装,这是一款可以替iPhone ...
- linux mint 主题切换,详解如何在 Linux Mint 中更换主题
一直以来,使用 Cinnamon 桌面环境的 Linux Mint 都是一种卓越的体验.这也是为何我喜爱 Linux Mint的主要原因之一. 自从 Mint 的开发团队开始更为严肃的对待设计, &q ...
- android最简单的更换主题,教你更换Android手机主题
买了Android手机的朋友肯定都希望手机桌面拥有一个好看的手机主题,但是具体操作却不会,下面就给大家简单教程. 目前在android系统上常见的主题软件有:open home.ADW launche ...
- UI控件DevExpress WinForm新手指南——如何在应用启动时执行操作
DevExpress WinForm拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案.DevExpress WinForm能完美构建流畅.美观且易于使用的应用程 ...
- element-plus 更换主题色
element-plus 更换主题色 场景: 简单的定制主题色,并不需要有按钮切换主题色. 实现: 在项目中新建你的theme.scss,代码如下: // style/element/index.sc ...
最新文章
- mysql parameters_MySqlCommand Command.Parameters.Add已过时
- Webservice入门教程_用CXF编写基于Spring的WebService
- [BT5]信息收集1-2 Dnsmap
- 使用JFace Viewer延迟获取模型元素
- [Freescale]E9学习笔记-LTIB总结
- EfficientDet:COCO 51.0 mAP!谷歌大脑提出目标检测新标杆
- 项目中会用到的开源项目列表
- mysql dsec_MySql数据库操作命令
- layUI日期框回调函数
- openwrt编译smartdns_LEDE/OpenWRT 部署SmartDNS
- 微支付开发(.net)
- APP兼容性覆盖测试
- N个数选出M个最小或最大值算法
- 最常见的管理误区,你中招了吗?
- Node对象的一些方法
- 现代函数概念的“序偶”定义
- 【XSY2485】MST(最小生成树+倍增lca+并查集)
- java嵌套循环_java基础之嵌套循环
- 分享一个最近github上比较热门的javaScript-questions
- 一对一直播系统源码开发,礼物打赏中追加、连击等功能的实现
热门文章
- cdatatable大数据操作_C# DataRow和DataColumn:更新数据表
- 《可爱的Python》读书笔记(九)
- 写给大家看的Web设计书:第3版(世界级设计大师指点迷津)(全彩印刷)
- 社会关系网络(SNA)如何应用于团伙欺诈识别
- Google 让你创作自己的 “巴黎之恋” 搜索广告
- 数据库管理系统:与MySQL的第一次亲密接触
- 互联网之父访华 称将把互联网送到整个太阳系
- 【FASTDFS】fastdfs上传文件报错 org.csource.common.MyException: getStoreStorage fail, errno code: 28 解决方法
- 在线考试系统是网站还是计算机应用,在线考试系统在电脑和手机上使用的区别是什么-[问答]...
- Ambassador,云原生应用的“门神”