羽叶 发表于 2013-6-26 17:52:41

[教程] DevExpress动态换肤

1.首先添加DevExpress.OfficeSkins和DevExpress.BonusSkins 两个引用。
在Main()函数之前进行皮肤注册:static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>

static void Main()
{
DevExpress.UserSkins.BonusSkins.Register();//皮肤注册
DevExpress.UserSkins.OfficeSkins.Register();
DevExpress.Skins.SkinManager.EnableFormSkins();//激活窗体皮肤,否则窗体还是操作系统默认主题风格
DevExpress.LookAndFeel.UserLookAndFeel.Default.SkinName = "Blue";
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new XtraForm1());
}
}2.添加一个父窗体,加一个全局静态DefaultLookAndFeel 成员控制皮肤,其他所有的窗体都继承该父窗体。
public partial class frmBase: DevExpress.XtraEditors.XtraForm {
    private static DefaultLookAndFeel gLobalDefaultLookAndFeel = new DefaultLookAndFeel();
    public static DefaultLookAndFeel GLobalDefaultLookAndFeel {
      get {
            return frmBase.gLobalDefaultLookAndFeel;
      }
      set {
            frmBase.gLobalDefaultLookAndFeel = value;
      }
    }
    public frmBase() {
      InitializeComponent();
    }
}
3.添加一个控制皮肤的窗体frmSkin:
public partial class frmSkin: DevExpress.XtraEditors.XtraForm {
    public frmSkin() {
      InitializeComponent();
    }
    private void frmSkin_Load(object sender, EventArgs e) {
      foreach(DevExpress.Skins.SkinContainer skinc in DevExpress.Skins.SkinManager.Default.Skins) {
            cboSkins.Properties.Items.Add(skinc.SkinName);
      }
    }
    private void cboSkins_SelectedIndexChanged(object sender, EventArgs e) {
      frmBase.GLobalDefaultLookAndFeel.LookAndFeel.SkinName = cboSkins.Text;
    }
    private void btnOK_Click(object sender, EventArgs e) {
      this.Close();
    }
}

阳光海岸 发表于 2013-6-27 07:46:10

不错的教材,
顺便也发个web的吧, 用最新的dx版本

Crxyz 发表于 2013-6-27 18:47:31

very nice. I am going to try DX in my project recently. Hope to learn something from here. Thanks

ssa521 发表于 2013-6-27 22:26:51

正在学习呢

眯眼笑 发表于 2013-6-28 20:58:24

有用,蛮好的

qrslbt 发表于 2013-6-29 08:40:21

挺好的,支持楼主,正在用~~~

cgc20xin 发表于 2013-7-9 18:54:00

还不错,不过还是觉得offce 2007 blue的最好看

ssa521 发表于 2013-7-10 22:42:42

不错,非常感谢

KamiyaLee 发表于 2013-7-18 15:33:37

不错,可以研究一下

marola 发表于 2013-7-22 23:20:45

我用的是 13.1.4, 并没有 DevExpress.OfficeSkins 和 DevExpress.BonusSkins,
请问该如何使用?

谢谢.

xushangkun 发表于 2013-7-28 23:08:27

不用继承也可以,defaultLookAndFeel控件默认就是改变所有窗体皮肤的。

羽叶 发表于 2013-7-28 23:24:27

marola 发表于 2013-7-22 23:20
我用的是 13.1.4, 并没有 DevExpress.OfficeSkins 和 DevExpress.BonusSkins,
请问该如何使用?



我第一句就说了,需要添加这两个DLL引用

yewenjie222 发表于 2013-9-22 17:53:31

thank you for sharing!

weiweisky 发表于 2013-9-25 17:03:58

谢谢分享~~~

wlpro 发表于 2013-10-18 13:05:48

不错,正需要

秋天 发表于 2013-11-9 19:51:02

谢谢分享学习了

yardview 发表于 2014-1-12 00:04:00

挺好的,支持楼主

frank770423 发表于 2014-2-20 09:54:06

赞一个~

琴★風 发表于 2014-3-26 13:46:18

根本不就不用集成,本来就是全局的

lmhtingna 发表于 2014-4-23 15:35:48

琴★風 发表于 2014-3-26 13:46
根本不就不用集成,本来就是全局的

谢谢楼主共享,学习了

wanjust 发表于 2014-4-28 10:38:29

感谢分享~~

myriceme 发表于 2014-8-24 21:44:28

非常不错,学习一下。

sqyfzx 发表于 2014-12-26 09:29:49

web能不能动态换肤?求解答。

zxy2k13 发表于 2015-1-8 11:51:15

十分实用,多谢分享!

人工智能 发表于 2015-1-8 23:21:09

谢谢楼主共享

sy2531 发表于 2015-12-4 03:27:22

不错,感谢分享

1002068421 发表于 2016-9-19 11:55:46

这样的话,保存窗体修改后的皮肤没
页: [1]
查看完整版本: [教程] DevExpress动态换肤