注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

信息 灵感 创新

I? =Information,Inspiration,Innovation

 
 
 

日志

 
 
关于我

we are 5. Mathematics, Computation, Programming, Engineering, and Making fun of life.

网易考拉推荐

【原创】DevExpress Skin 皮肤机理  

2011-10-01 12:18:50|  分类: C# & .NET |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

呃,其实也谈不上原创了,大概就是把帮助手册翻译了一下,然后加了点自己的东西。

所有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 属性实现皮肤样式的修改。

  评论这张
 
阅读(10072)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016