日期:2014-05-18  浏览次数:20942 次

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");