我在项目里面使用了DevExpress来进行了一些美化效果,在窗体加载的时候会把所有的样式全部加载到一个下拉列表里面,代码如下: 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";有人知道怎么实现这个功能吗?

解决方案 »

  1.   

    你應該是要在每次開啟時,設定讀取你保存的字串吧?
    new DevExpress.LookAndFeel.DefaultLookAndFeel().LookAndFeel.SetSkinStyle("Office 2007 Black");
      

  2.   

    三行代码,缺一不可。如果你还用到BonusSkins,请也一起注册。OfficeSkins.Register();
    SkinManager.EnableFormSkins();
    DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle("Office 2007 Black");
      

  3.   

    搞定,原来是这么写的:DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle("Office 2007 Black");我自己写错了,我写成this.LookAndFeel.SkinName = "Office 2007 Black";感谢各位,结贴了。