C#通过代码来设置程序的风格【DevExpress】
我在项目里面使用了DevExpress来进行了一些美化效果,在窗体加载的时候会把所有的样式全部加载到一个下拉列表里面,代码如下:
- C# code
private void FrmMain_Load(object sender, EventArgs e) { foreach (DevExpress.Skins.SkinContainer skin in DevExpress.Skins.SkinManager.Default.Skins) { var item = tsChangeStyle.DropDownItems.Add(skin.SkinName); item.Click += new EventHandler(item_Click); } } void item_Click(object sender, EventArgs e) { new DevExpress.LookAndFeel.DefaultLookAndFeel().LookAndFeel.SetSkinStyle((sender as ToolStripMenuItem).Text); }
然后界面上面选择不同的样式名称,整个项目的风格就会跟着变,但是怎么样可以将 用户的选择保存起来呢?我的想法是将用户选择的样式名称记录在本地,然后每次启动程序的时候就去读取这个样式名称,但是我发现没办法通过代码指定程序的风格,这样写一点效果也没有:this.LookAndFeel.SkinName = "Office 2007 Black";有人知道怎么实现这个功能吗?
[解决办法]
退出程序时,将样式保存至配置文件
下次登录程序时,从配置文件中读取样式
[解决办法]
你是要在每次,定取你保存的字串吧?
new DevExpress.LookAndFeel.DefaultLookAndFeel().LookAndFeel.SetSkinStyle("Office 2007 Black");
[解决办法]
三行代码,缺一不可。如果你还用到BonusSkins,请也一起注册。
- C# code
OfficeSkins.Register();SkinManager.EnableFormSkins();DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle("Office 2007 Black");