DevExpress增加修改皮肤菜单

DevExpress 设计Ribbon界面 阅读详情

当我们在新建“Form”时,选择DevExpress Form为模板,就可以应用DevExpress的漂亮主题了。此时,From继承的是“DevExpress.XtraEditors.XtraForm”。

或者如果是Form,则修改基类为XtraForm或RibbonForm

 public partial class MainForm : DevExpress.XtraBars.Ribbon.RibbonForm

所有DevExpress .NET WinForms控件都支持皮肤技术。皮肤实际上是一种决定控件元素在其可能的状态(正常、热追踪、选择、按下等)被绘制的一组位图集合。皮肤能够保证在不同的系统下都有相同的外观,DevExpress.Utils库下有几款皮肤,即Caramel、Money Twins、Lilian、iMaginary、Black、Blue,另外在DevExpress.BonusSkins库下面还有Coffee、Liquid Sky、London Liquid Sky、Glass Oceans、Stardust、Xmas 2008 Blue、Valentine、McSkin几款皮肤,DevExpress.OfficeSkins库下面有Office 2007 Blue、Office 2007 Black、Office 2007 Silver、Office 2007 Green、Office 2007 Pink等皮肤。
如何使用这些丰富的皮肤呢?
首先要添加对类库的引用
前面提到DevExpress.Utils、DevExpress.BonusSkins和DevExpress.OfficeSkins类库下具有的皮肤,所以要添加对这些类库的应用。

【原创】DevExpress Skin 皮肤机理 - Castor - 趁年轻,多折腾~~

接下来,需要注册这些皮肤,注册皮肤需要在程序入口处添加,而且要在窗口出现之前。双击打开Program.cs,将Main函数修改如下:
[STAThread]
static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    //下面是注册皮肤
    DevExpress.UserSkins.BonusSkins.Register();
    DevExpress.UserSkins.OfficeSkins.Register();

    Application.Run(new XtraForm1());
}
这样才能在程序中正常地使用皮肤。请注意我这里使用的是DevExpress下的XtraForm窗体,而不是VS自动提供的Form类,因为XtraForm具有LookAndFeel属性。
为了演示一下不同的皮肤,我们可以给窗体添加一个ListBoxControl,并在Items中输入如下内容:
Caramel
Money Twins
Lilian
iMaginary
Black
Blue
Coffee
Liquid Sky
London Liquid Sky
Glass Oceans
Stardust
Xmas 2008 Blue
Valentine
McSkin
Office 2007 Blue
Office 2007 Black
Office 2007 Silver
Office 2007 Green
Office 2007 Pink

当然了,这些代码也是可以在运行时添加的,ListBoxControl和ListBox用法差不多,具体用法就不啰嗦了。
给窗体添加一个DefaultLookAndFeel控件,该控件类似一个全局变量,决定了控件使用的默认皮肤。

双击列表控件,添加事件处理代码:
private void listBoxControl1_SelectedIndexChanged(object sender, System.EventArgs e)
{
    defaultLookAndFeel1.LookAndFeel.UseWindowsXPTheme = false;
    defaultLookAndFeel1.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Skin;
    string SkinName = listBoxControl1.SelectedItem.ToString();
    defaultLookAndFeel1.LookAndFeel.SkinName = SkinName;
}

运行就可以发现点击不同的名称,就会出现不一样的皮肤:

【原创】DevExpress Skin 皮肤机理 - Castor - 趁年轻,多折腾~~

【原创】DevExpress Skin 皮肤机理 - Castor - 趁年轻,多折腾~~

【原创】DevExpress Skin 皮肤机理 - Castor - 趁年轻,多折腾~~

最后再强调一次,使用皮肤一定要将LookAndFeel属性设置如下: 
UseDefaultLookAndFeel和UseWindowsXPTheme属性必须为false,Style 属性必须设置为LookAndFeelStyle.Skin。然后才能通过SkinName 属性实现皮肤样式的修改。

标题栏皮肤

DevExpress窗体(包括XtraForm,RibbonForm,XtraMessageBox以及其他由DevExpress显示的对话框、消息框等)都支持标题栏皮肤
设置标题栏皮肤很简单,你只要在Program.cs下的Main中添加一条语句即可:
 DevExpress.Skins.SkinManager.EnableFormSkins(); //需要在Run前面调用
 Application.Run(new XtraForm1());
可以对比一下添加该语句和没有该语句的效果:

【原创】DevExpress标题栏皮肤 - Castor - 趁年轻,多折腾~~

 没有使用DevExpress.Skins.SkinManager.EnableFormSkins()方法

【原创】DevExpress标题栏皮肤 - Castor - 趁年轻,多折腾~~

 使用DevExpress.Skins.SkinManager.EnableFormSkins()方法

当然,也可以在Run后面调用,但是在使用了EnableFormSkins之后需要调用DevExpress.LookAndFeel.LookAndFeelHelper.ForceDefaultLookAndFeelChanged方法,例如将代码加入到前面的listBoxControl1的SelectedIndexChanged事件中:
private void listBoxControl1_SelectedIndexChanged(object sender, System.EventArgs e)
{
    defaultLookAndFeel1.LookAndFeel.UseWindowsXPTheme = false;
    defaultLookAndFeel1.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Skin;
    DevExpress.Skins.SkinManager.EnableFormSkins();
    DevExpress.LookAndFeel.LookAndFeelHelper.ForceDefaultLookAndFeelChanged();

    string SkinName = listBoxControl1.SelectedItem.ToString();
    defaultLookAndFeel1.LookAndFeel.SkinName = SkinName;
}
运行可以发现效果是一样的。
如果要禁用标题栏皮肤,可以使用SkinManager.DisableFormSkins方法,然后再调用LookAndFeelHelper.ForceDefaultLookAndFeelChanged方法,这样可以在运行时控制是否使用标题栏皮肤。


DevExpress中动态设置主题、皮肤 一、实现效果 1.1、设置全局主题 1.2、设置单窗体主题 1.3、重置全局窗体主题 二、WinForm窗体主题、皮肤操作核心 /*** * Title:"数据采集" 项目 * 主题:WinForm窗体主题操作 * Description: * 功能: * 1、获取到所有主题 * 2、获取到全局窗体的主题名称 * 3、设置全局窗体的主题 * 4、重置全局窗体的主题 * 5、获取到窗体的主题名称 * 6、设置窗体主题 * 阅读详情

相关推荐

[DevExpress]skin窗体换肤

转自:http://www.evget.com/article/2014/10/10/21667.html最近在学习 DevExpress 这个控件,将窗体换肤的一些心得记录下来,分享给大家:【DXperience Universal Suite下载】1.添加引用:2.在ribbonPageGroup下新建个ribbonGalleryBarItem,并添加GalleryItemClick 事件:r

德仔 5625

基于DevExpress控件的应用界面皮肤切换

基于DevExpress控件的应用界面皮肤切换背景实现效果关键代码 背景 在开发Winform应用程序时,为了界面美观比较简单的方式就是使用皮肤第三方控件,而业界做的比较好的,应用很广泛的就数DevExpress了。先看以下皮肤的实现效果。 实现效果 看几张截图吧 以上3张图是3中主题。 可以在皮肤选择功能菜单中选择不同的皮肤进行切换 关键代码 要想让系统支持比较多的主题,需要在系统工程...

分享技术,传播知识! 2229

[DevExpress] 设计Ribbon界面

Ribbon上包含以下一些元素,如图所示:元素对应API:ElementRibbon APIQuick Access ToolbarRibbonControl.ToolbarRibbonQuickAccessToolbar.ItemLinksApplication ButtonRibbonControl.ShowApplicationButtonRibbonControl.ApplicationB

德仔 3万+

手把手教你用DevExpress WinForm添加和自定义工具栏皮肤选择器

本文主要介绍在使用DevExpress WinForm开发一个应用程序是,如何添加和自定义工具栏皮肤选择器,欢迎下载相关组件体验!

需要界面开发、IDE工具研发中文教程资料的小伙伴,记得私信我~ 3009

DevExpress自学笔记—整体修改窗体及控件的皮肤样式3

通过DevExpress的Ribbon窗体提供的换肤选择器实现窗体及控件的皮肤样式的更换。

松一160 4624

DevExpress 设计Ribbon界面

Ribbon上包含以下一些元素,如图所示: 元素对应API: Element Ribbon API Quick Access Toolbar RibbonControl.Toolbar RibbonQuickAccessToolbar.ItemLinks Application Button RibbonControl.ShowApplicationButton RibbonControl.ApplicationButtonDropDownControl Main pages Ri...

fangyuan621的专栏 1234

DevExpress如何实现皮肤的添加及本地化

DevExpress.XtraBars.Helpers.SkinHelper类允许您填充现有RibbonGalleryBarItem或任意菜单(PopupMenu或BarSubItem)项目对应的DevExpress皮肤。如果最终用户单击任何项目,相应的皮肤就会通过静态的Default Look and Feel对象得到应用。下面,我们就给出一个具体的事例: using System; ...

weixin_33722405的博客 225

DevExpress WinForms — 2021 产品路线图

DevExpress 官方提供的2021年产品路线图计划,让我们一起来预览一下吧。 DevExpress预计在 2021 年发布的新的控件和性能增强功能外,我们希望分配大量资源,帮助缩小 WinForms 与更现代的发展平台之间的差距(点评:期待)。高DPI支持,.NET核心,SVG图标,皮肤,DirectX硬件加速,MVVM框架,可访问性-都将在2021年的发展战略中发挥关键作用。 内容表 HTML & CSS Templates WinForms Common Data Grid V

涛神-Dev 的博客 2215

修改DEVRibbonForm标题相关属性

RibbonForm类代表一个功能区表单 - 一种嵌入ribbon control并支持皮肤的表单。 RibbonForm类从XtraForm类派生而来,并共享其大多数功能,例如发光或阴影效果。与XtraForm不同,ribbon form的边框和标题栏始终为皮肤。 将Ribbon Forms添加到项目 将标准表单转化为Ribbon Forms 复合表单标题 增加边框宽度 嵌入Ribbon快速访问工具栏 嵌入状态栏 与BackstageView控件的交互 Ribbon显示模式选择器 .

Learn_change_myself的博客 1058

c# Devxpress 使用

1、 设置Devxpress的皮肤:          SkinHelper.InitSkinGallery(skinGalleryBarItem, true);   UserLookAndFeel.Default.SetSkinStyle("Blue");//将皮肤设为蓝色          DevExpress.UserSkins.OfficeSkins.Register();

wxstar8的博客 1173

Delphi皮肤控件分析与QQ的皮肤变色功能

关于界面美化方面,一直是一个脑壳疼的问题!以前一直偷懒,使用的三方控件!但是在使用了一段时间之后,都或多或少的有些问题!不是我说三方控件如何如何的不好!只是三方控件多是庞大的一个肢体,要兼顾的用户群体很多,所以同时它要考虑的问题也增加了很多,然而一个程序出现Bug是在所难免的,所以三方控件那庞大的肢体在出了问题之后,修改就相当麻烦,首先得捋顺控件...

weixin_33724046的博客 157

一个控件几行代码实现换肤(可支持菜单

 这是从vbAccelerator(http://vbaccelerator.com)的皮肤程序修改而来,把DLL方式修改为OCX,并且修改为仅通过几行指令,即可完成皮肤加载。此外,不再需要SSubTmr6.dll的支持了,修改了原程序XML方式导入导出的Bug,加入了"Borders"字段,增加了异型窗体处理,新编写了皮肤制作程序。   ‘皮肤示例代码  Private Sub Form_L

.NET博文收藏 602

C/S开发框架源码 winform快速开发框架 asp.net源码 文档齐全

免费下载地址:https://download.csdn.net/download/kuangren121/10497959需要自己下一个DXperience。开发环境 :VS2008(及以上) + C# + SQL2008_r2 + (DXperience)     该框架采用逻辑上的三层模式开发业务处理和数据处理完全分开,采用C#语言和MSSQL进行开发,主要实现了菜单构建,系统用户,权限分配...

kuangren121的专栏 7315

apache php显示成列表,centos中设置apache显示目录列表

miniui中常用的状态显示方式1.查询sys_code表得到对应的状态 考生状态:oracle中文显示为问号在用PL/sql查询时,中文显示为问号.经查证,发现问题为oracle字符集不支持中文导致的.修改oracle字符集,改为支持中文即可. 方法: 第一步:修改注册表. 开始-运行-输入regedit- ...PHP_CURL请求教程, 内含简单粗暴...

weixin_34178408的博客 190

C++Builder/Delphi VCL界面主题包集成指南:从选型到发布

在现代软件开发中,用户界面(UI)的视觉体验是影响软件品质和用户留存的关键因素。其实现原理通常基于样式规则与资源文件,通过钩子(Hook)或自绘(Owner Draw)技术接管控件绘制流程,从而在不修改核心业务逻辑的前提下,实现外观的全局更新。这项技术的核心价值在于能以极低的代码改造成本,显著提升软件的专业度和现代感,尤其适用于需要焕新老旧项目或打造高颜值新产品的场景。无论是开发企业内部工具还是商业软件,一个设计精良的界面都是重要的竞争力。本文以C++Builder和Delphi的VCL框架为例,深入探讨如

weixin_33778544的博客 436
上一篇: DevExpress 设计Ribbon界面
下一篇: AlertControl警示控件——如QQ右下角弹出消息提示,过一段时间消失
whucv
博客等级 码龄15年 512粉丝 248原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值