用到的控件有:

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 更换主题相关推荐

  1. 界面控件DevExpress WinForm中文教程 - 如何使用模板库构建类Office UI?

    DevExpress WinForm拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案.DevExpress WinForm能完美构建流畅.美观且易于使用的应用程 ...

  2. 使用 css/less 动态更换主题色(换肤功能)

    前言 说起换肤功能,前端应该是非常熟悉了? 一般来说换肤的需求分为几种: 1. 纯前端,直接在页面前端通过点击自由切换限定的几种主题色,切换之后主题色变量存到本地浏览器 2. 在后台配置好色值,传到前 ...

  3. Extjs 更换主题(转载)

    转自http://www.wenhaozhong.com/27.html 这里基于 Extjs4.2(发文时官方刚发布了最新版5.0) 进行开发的,更换主题后,主题信息保存在本地 cookie 中,如 ...

  4. linux mint 图标主题_如何在 Linux Mint 中更换主题

    一直以来,使用 Cinnamon 桌面环境的 Linux Mint 都是一种卓越的体验.这也是为何我喜爱 Linux Mint的主要原因之一. -- It's Foss(作者) 一直以来,使用 Cin ...

  5. 主题图标_iPhone一键更换主题、图标神器

    iOS图标虽然是经典,但是看久了也是会腻的.今天教大家一个简单的方法,来更换iPhone的图标. 更换主题.图标教程 前往App Store搜索[moloko]进行下载安装,这是一款可以替iPhone ...

  6. linux mint 主题切换,详解如何在 Linux Mint 中更换主题

    一直以来,使用 Cinnamon 桌面环境的 Linux Mint 都是一种卓越的体验.这也是为何我喜爱 Linux Mint的主要原因之一. 自从 Mint 的开发团队开始更为严肃的对待设计, &q ...

  7. android最简单的更换主题,教你更换Android手机主题

    买了Android手机的朋友肯定都希望手机桌面拥有一个好看的手机主题,但是具体操作却不会,下面就给大家简单教程. 目前在android系统上常见的主题软件有:open home.ADW launche ...

  8. UI控件DevExpress WinForm新手指南——如何在应用启动时执行操作

    DevExpress WinForm拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案.DevExpress WinForm能完美构建流畅.美观且易于使用的应用程 ...

  9. element-plus 更换主题色

    element-plus 更换主题色 场景: 简单的定制主题色,并不需要有按钮切换主题色. 实现: 在项目中新建你的theme.scss,代码如下: // style/element/index.sc ...

最新文章

  1. mysql parameters_MySqlCommand Command.Parameters.Add已过时
  2. Webservice入门教程_用CXF编写基于Spring的WebService
  3. [BT5]信息收集1-2 Dnsmap
  4. 使用JFace Viewer延迟获取模型元素
  5. [Freescale]E9学习笔记-LTIB总结
  6. EfficientDet:COCO 51.0 mAP!谷歌大脑提出目标检测新标杆
  7. 项目中会用到的开源项目列表
  8. mysql dsec_MySql数据库操作命令
  9. layUI日期框回调函数
  10. openwrt编译smartdns_LEDE/OpenWRT 部署SmartDNS
  11. 微支付开发(.net)
  12. APP兼容性覆盖测试
  13. N个数选出M个最小或最大值算法
  14. 最常见的管理误区,你中招了吗?
  15. Node对象的一些方法
  16. 现代函数概念的“序偶”定义
  17. 【XSY2485】MST(最小生成树+倍增lca+并查集)
  18. java嵌套循环_java基础之嵌套循环
  19. 分享一个最近github上比较热门的javaScript-questions
  20. 一对一直播系统源码开发,礼物打赏中追加、连击等功能的实现

热门文章

  1. cdatatable大数据操作_C# DataRow和DataColumn:更新数据表
  2. 《可爱的Python》读书笔记(九)
  3. 写给大家看的Web设计书:第3版(世界级设计大师指点迷津)(全彩印刷)
  4. 社会关系网络(SNA)如何应用于团伙欺诈识别
  5. Google 让你创作自己的 “巴黎之恋” 搜索广告
  6. 数据库管理系统:与MySQL的第一次亲密接触
  7. 互联网之父访华 称将把互联网送到整个太阳系
  8. 【FASTDFS】fastdfs上传文件报错 org.csource.common.MyException: getStoreStorage fail, errno code: 28 解决方法
  9. 在线考试系统是网站还是计算机应用,在线考试系统在电脑和手机上使用的区别是什么-[问答]...
  10. Ambassador,云原生应用的“门神”