俗话说得好:”好记心不如烂笔杆儿“,这不,前些时间突然心血来潮,想用C#来写写软件,其实我的计算机中老早就装上了DevExpress的开发 环境了,可是一直跟自己找借口,没有动手写过一个像样的软件,我写项目喜欢把界面做得漂亮点儿,当然并没有忽略功能,如果你还在找如何更换 DevExpress中form的皮肤或者是如何使用用DevExpress Form窗体皮肤的话,本文是一篇有效解决你这个问题的!下面实录我在DevExpress 8 中更改form皮肤的过程:
第 1步:新建一个项目,vs2005会自动生成一个form1.cs的窗体,这个窗体也是程序的启动项,请注意,此时的”Form1”继承的是 Windows 自带的Form,即”System.Windows.Forms”。而这个Form是不会应用DevExpress的主题样式的。那么我 们怎么样才可以让Form应用这些样式呢?
第二步:新建一个继承DevExpress窗体的Form窗体,也就是你新建项时,“Form” 时,选择DevExpress Form为模板,就可以应用DevExpress的漂亮主题了。此时,From继承的是 “DevExpress.XtraEditors.XtraForm”。并把你新建的这个设置为启动项,系统自动生成的那个”form1“你自己排除或删 除即可!
第三步:添加DevExpress 主题皮肤的引用,你看你的引用中是否有DevExpress.BonusSkins.v8.1 DevExpress.officeSkins.v8.1的引用,如果没有,请添加
第四步:在软件的入口Program类的main函数的第一行代码前加上如下代码:
DevExpress.UserSkins.BonusSkins.Register(); DevExpress.UserSkins.OfficeSkins.Register(); DevExpress.Skins.SkinManager.EnableFormSkins(); |
第五步:窗口放个DefaultLookAndFeel控件!其作用是设置窗体的主题样式。
第六步:软件往往有个设置皮肤的地方,这个地方往往是需要枚举出所有皮肤的,把皮肤全部枚举出来放到一个ComboBoxEdit中,代码如下:
foreach (DevExpress.Skins.SkinContainer skin in DevExpress.Skins.SkinManager.Default.Skins) { cmbAppStyle.Properties.Items.Add(skin.SkinName); } |
第七步:设置其他皮肤,怎样设置皮肤呢,只需设置每个窗口的DefaultLookAndFeel即可,在ComboBoxEdit的selectChang事件中,代码如下:
this .defaultLookAndFeel1.LookAndFeel.SkinName = cmbAppStyle.EditValue.ToString(); |
PS:
1、注意,我这儿用的是DevExpress 8.1,在老版本中可能不支持。如果是7.x的版本,请见DevExpress demo中的源代码。
2、什么是启动项不用解释了吧~~
3、 当我们安装完DevExpress控件包之后,在添加新项窗口中我们会看到多出的几项:DevExpress Form v8.1、DevExpress RibbomForm v8.1和DevExpressUsercontrol v8.1,其中“v8.1”是版本号。
4、DevExpress中的默认皮肤名的取得:DevExpress.Skins.SkinManager.DefaultSkinName
============ 欢迎各位老板打赏~ ===========
与本文相关的文章
- · DevExpress使用方法总结1
- · VS2010 工具栏中无法显示DevExpress控件
- · The instance of entity type ‘Customer’ cannot be tracked because another instance with the same key value for {‘Id’} is already being tracked.
- · .NET8实时更新nginx ip地址归属地
- · 解决.NET Blazor子组件不刷新问题
- · .NET8如何在普通类库中引用 Microsoft.AspNetCore
- · .NET8 Mysql SSL error
- · ASP.NET Core MVC的Razor视图渲染中文乱码的问题
- · .NETCORE 依赖注入服务生命周期
- · asp.net zero改mysql
- · .NET5面试汇总
- · .Net连接Mysql数据库的Convert Zero Datetime日期问题