开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 15184|回复: 26

[教程] DevExpress动态换肤

[复制链接]

0

精华

5273

贡献

5981

赞扬

管理员

帖子
1172
软币
22455
在线时间
4448 小时
注册时间
2013-6-7

黄马甲

发表于 2013-6-26 17:52:41 | 显示全部楼层 |阅读模式
1.首先添加DevExpress.OfficeSkinsDevExpress.BonusSkins 两个引用。
在Main()函数之前进行皮肤注册:
  1. static class Program
  2. {
  3. /// <summary>
  4. /// 应用程序的主入口点。
  5. /// </summary>
  6. [STAThread]
  7. static void Main()
  8. {
  9. DevExpress.UserSkins.BonusSkins.Register();//皮肤注册
  10. DevExpress.UserSkins.OfficeSkins.Register();
  11. DevExpress.Skins.SkinManager.EnableFormSkins();//激活窗体皮肤,否则窗体还是操作系统默认主题风格
  12. DevExpress.LookAndFeel.UserLookAndFeel.Default.SkinName = "Blue";
  13. Application.EnableVisualStyles();
  14. Application.SetCompatibleTextRenderingDefault(false);
  15. Application.Run(new XtraForm1());
  16. }
  17. }
复制代码
2.添加一个父窗体,加一个全局静态DefaultLookAndFeel 成员控制皮肤,其他所有的窗体都继承该父窗体。

  1. public partial class frmBase: DevExpress.XtraEditors.XtraForm {
  2.     private static DefaultLookAndFeel gLobalDefaultLookAndFeel = new DefaultLookAndFeel();
  3.     public static DefaultLookAndFeel GLobalDefaultLookAndFeel {
  4.         get {
  5.             return frmBase.gLobalDefaultLookAndFeel;
  6.         }
  7.         set {
  8.             frmBase.gLobalDefaultLookAndFeel = value;
  9.         }
  10.     }
  11.     public frmBase() {
  12.         InitializeComponent();
  13.     }
  14. }
复制代码
3.添加一个控制皮肤的窗体frmSkin:
2012072315473212.png
  1. public partial class frmSkin: DevExpress.XtraEditors.XtraForm {
  2.     public frmSkin() {
  3.         InitializeComponent();
  4.     }
  5.     private void frmSkin_Load(object sender, EventArgs e) {
  6.         foreach(DevExpress.Skins.SkinContainer skinc in DevExpress.Skins.SkinManager.Default.Skins) {
  7.             cboSkins.Properties.Items.Add(skinc.SkinName);
  8.         }
  9.     }
  10.     private void cboSkins_SelectedIndexChanged(object sender, EventArgs e) {
  11.         frmBase.GLobalDefaultLookAndFeel.LookAndFeel.SkinName = cboSkins.Text;
  12.     }
  13.     private void btnOK_Click(object sender, EventArgs e) {
  14.         this.Close();
  15.     }
  16. }
复制代码
2012072315481952.png

评分

参与人数 12赞扬 +12 收起 理由
BaronQiu + 1 很给力
wwh999 + 1 赞一个
newday910310 + 1 很给力
grsmichael + 1 Thanks
秋天 + 1 Thanks

查看全部评分

回复

使用道具 举报

0

精华

447

贡献

6092

赞扬

帖子
332
软币
21662
在线时间
1870 小时
注册时间
2013-6-8

胡吹海聊

发表于 2013-6-27 07:46:10 | 显示全部楼层
不错的教材,
顺便也发个web的吧, 用最新的dx版本
回复

使用道具 举报

0

精华

2

贡献

1

赞扬

帖子
41
软币
532
在线时间
60 小时
注册时间
2013-6-22
发表于 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
回复

使用道具 举报

0

精华

135

贡献

111

赞扬

管理员

帖子
155
软币
3622
在线时间
419 小时
注册时间
2013-6-7

黄马甲胡吹海聊

发表于 2013-6-27 22:26:51 | 显示全部楼层
正在学习呢
回复

使用道具 举报

0

精华

134

贡献

117

赞扬

帖子
151
软币
1620
在线时间
90 小时
注册时间
2013-6-8
发表于 2013-6-28 20:58:24 | 显示全部楼层
有用,蛮好的
回复

使用道具 举报

0

精华

921

贡献

108

赞扬

赞助者组

Rank: 14Rank: 14Rank: 14Rank: 14

帖子
66
软币
3597
在线时间
351 小时
注册时间
2013-6-20
发表于 2013-6-29 08:40:21 | 显示全部楼层
挺好的,支持楼主,正在用~~~
回复

使用道具 举报

0

精华

79

贡献

36

赞扬

帖子
125
软币
1754
在线时间
107 小时
注册时间
2013-7-1
发表于 2013-7-9 18:54:00 | 显示全部楼层
还不错,不过还是觉得offce 2007 blue的最好看

QQ图片20130709185235.jpg
回复

使用道具 举报

0

精华

135

贡献

111

赞扬

管理员

帖子
155
软币
3622
在线时间
419 小时
注册时间
2013-6-7

黄马甲胡吹海聊

发表于 2013-7-10 22:42:42 | 显示全部楼层
不错,非常感谢
回复

使用道具 举报

0

精华

3

贡献

0

赞扬

帖子
22
软币
185
在线时间
14 小时
注册时间
2013-7-18
发表于 2013-7-18 15:33:37 | 显示全部楼层
不错,可以研究一下
回复

使用道具 举报

0

精华

0

贡献

1

赞扬

帖子
116
软币
2038
在线时间
233 小时
注册时间
2013-7-18
发表于 2013-7-22 23:20:45 | 显示全部楼层
我用的是 13.1.4, 并没有 DevExpress.OfficeSkins 和 DevExpress.BonusSkins,
请问该如何使用?

谢谢.
回复

使用道具 举报

0

精华

10

贡献

31

赞扬

帖子
48
软币
265
在线时间
15 小时
注册时间
2013-7-13
发表于 2013-7-28 23:08:27 | 显示全部楼层
不用继承也可以,defaultLookAndFeel控件默认就是改变所有窗体皮肤的。
回复

使用道具 举报

0

精华

5273

贡献

5981

赞扬

管理员

帖子
1172
软币
22455
在线时间
4448 小时
注册时间
2013-6-7

黄马甲

 楼主| 发表于 2013-7-28 23:24:27 | 显示全部楼层
marola 发表于 2013-7-22 23:20
我用的是 13.1.4, 并没有 DevExpress.OfficeSkins 和 DevExpress.BonusSkins,
请问该如何使用?

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

使用道具 举报

0

精华

178

贡献

13

赞扬

帖子
59
软币
1116
在线时间
120 小时
注册时间
2013-9-22
发表于 2013-9-22 17:53:31 | 显示全部楼层
thank you for sharing!
回复

使用道具 举报

0

精华

0

贡献

0

赞扬

帖子
44
软币
334
在线时间
36 小时
注册时间
2013-10-18
发表于 2013-10-18 13:05:48 | 显示全部楼层
不错,正需要
回复

使用道具 举报

0

精华

797

贡献

619

赞扬

授权已结束

Rank: 18Rank: 18

帖子
76
软币
1666
在线时间
153 小时
注册时间
2013-11-8
发表于 2013-11-9 19:51:02 | 显示全部楼层
谢谢分享  学习了
回复

使用道具 举报

0

精华

0

贡献

6

赞扬

帖子
37
软币
287
在线时间
28 小时
注册时间
2013-11-19
发表于 2014-1-12 00:04:00 | 显示全部楼层
挺好的,支持楼主
回复

使用道具 举报

0

精华

0

贡献

0

赞扬

帖子
5
软币
95
在线时间
3 小时
注册时间
2014-3-21
发表于 2014-3-26 13:46:18 | 显示全部楼层
根本不就不用集成,本来就是全局的
回复

使用道具 举报

0

精华

0

贡献

277

赞扬

帖子
184
软币
2067
在线时间
247 小时
注册时间
2014-4-22
发表于 2014-4-23 15:35:48 | 显示全部楼层
琴★風 发表于 2014-3-26 13:46
根本不就不用集成,本来就是全局的

谢谢楼主共享,学习了
回复

使用道具 举报

0

精华

7

贡献

90

赞扬

帖子
76
软币
870
在线时间
83 小时
注册时间
2013-11-11
发表于 2014-8-24 21:44:28 | 显示全部楼层
非常不错,学习一下。
回复

使用道具 举报

0

精华

99

贡献

28

赞扬

帖子
191
软币
566
在线时间
70 小时
注册时间
2014-9-15
发表于 2014-12-26 09:29:49 | 显示全部楼层
web能不能动态换肤?求解答。
回复

使用道具 举报

0

精华

0

贡献

0

赞扬

帖子
8
软币
64
在线时间
0 小时
注册时间
2015-1-8
发表于 2015-1-8 11:51:15 | 显示全部楼层
十分实用,多谢分享!
回复

使用道具 举报

0

精华

84

贡献

130

赞扬

帖子
210
软币
2538
在线时间
438 小时
注册时间
2014-2-15
发表于 2015-1-8 23:21:09 | 显示全部楼层
谢谢楼主共享
回复

使用道具 举报

0

精华

2

贡献

0

赞扬

帖子
9
软币
86
在线时间
0 小时
注册时间
2015-12-4
发表于 2015-12-4 03:27:22 | 显示全部楼层
不错,感谢分享
回复

使用道具 举报

0

精华

19

贡献

352

赞扬

帖子
142
软币
1717
在线时间
183 小时
注册时间
2016-9-10
发表于 2016-9-19 11:55:46 | 显示全部楼层
这样的话,保存窗体修改后的皮肤没
回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-11-22 01:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表