博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

如何使DevExpress控件的窗体皮肤焕然一新

Posted on 2010-10-26 17:04  gczhao  阅读(963)  评论(0编辑  收藏  举报

本文转自http://blog.sina.com.cn/s/blog_5d5c7ed60100ioig.html

 

为软件换肤,是一个永恒的主题。在devexpress中,更换窗体皮肤就很简单,不需要我们自己去制造皮肤,官方就有很丰富的皮肤包,在tannaiyin的基础上这么来弄要简单得多。那么到底如何让我们的DevExpress控件的窗体皮肤靓丽更与众不同呢?本文将为你一一揭晓。


  第一步让所有窗体都从DevExpress.XtraEditors.XtraForm继承。

  第二步:添加两个引用:
  DevExpress.BonusSkins.v9.2
  DevExpress.OfficeSkins.v9.2

  第三步:在软件的入口Program类的main函数的第一行代码前加上:
  DevExpress.UserSkins.BonusSkins.Register();
  DevExpress.UserSkins.OfficeSkins.Register();
  DevExpress.Skins.SkinManager.EnableFormSkins();
  Application.EnableVisualStyles();
  Application.SetCompatibleTextRenderingDefault(false);
  Application.Run(new FormMain());

  第四步:建立一个窗体基类 ,其中加上
  1  public class frmBase: DevExpress.XtraEditors.XtraForm
  2     {
  3         protected static DevExpress.LookAndFeel.DefaultLookAndFeel defaultLookAndFeel=new DevExpress.LookAndFeel.DefaultLookAndFeel();
  4     }

  第五步:新窗体都继承于frmbase

  第六步:在其中一个窗体上把皮肤全部枚举出来放到一个ComboBoxEdit中,代码如下:
foreach (DevExpress.Skins.SkinContainer skin in DevExpress.Skins.SkinManager.Default.Skins)
cmbAppStyle.Properties.Items.Add(skin.SkinName);

  第七部:设置皮肤,怎样设置皮肤呢,只需设置基类的DefaultLookAndFeel即可,代码如下: frmBase.defaultLookAndFeel.LookAndFeel.SkinName = cmbAppStyle.EditValue.ToString();
这样整个项目中所有的窗体皮肤都焕然一新了。