如何使DevExpress控件的窗体皮肤焕然一新

如何使DevExpress控件的窗体皮肤焕然一新,第1张

第一步让所有窗体都从DevExpress.XtraEditors.XtraForm继承。

第二步:添加两个引用:

DevExpress.BonusSkins.v9.2

DevExpress.OfficeSkins.v9.2

第三步:在软件的入口Program类的main函数的第一行代码前加上:

DevExpress.UserSkins.BonusSkins.Register()

DevExpress.UserSkins.OfficeSkins.Register()

DevExpress.Skins.SkinManager.EnableFormSkins()

Application.EnableVisualStyles()

Application.SetCompatibleTextRenderingDefault(false)

Application.Run(new FormMain())

第四步:建立一个窗体基类 ,其中加上

1 public class frmBase: DevExpress.XtraEditors.XtraForm

2 {

3 protected static DevExpress.LookAndFeel.DefaultLookAndFeel defaultLookAndFeel=new DevExpress.LookAndFeel.DefaultLookAndFeel()

4 }

第五步:新窗体都继承于frmbase

第六步:在其中一个窗体上把皮肤全部枚举出来放到一个ComboBoxEdit中,代码如下:

foreach (DevExpress.Skins.SkinContainer skin in DevExpress.Skins.SkinManager.Default.Skins)

cmbAppStyle.Properties.Items.Add(skin.SkinName)

第七部:设置皮肤,怎样设置皮肤呢,只需设置基类的DefaultLookAndFeel即可,代码如下: frmBase.defaultLookAndFeel.LookAndFeel.SkinName = cmbAppStyle.EditValue.ToString()

这样整个项目中所有的窗体皮肤都焕然一新了。

这样写就行了

private void button1_Click(object sender, EventArgs e)

{

skinEngine1.SkinFile = Application.StartupPath + @"\皮肤\Emerald\Emerald.ssk"

skinEngine1.AddForm(this)

}

Application.StartupPath指向的是你当前项目的Debug文件夹,你要的下拉菜单事件可以这样写

private void Form5_Load(object sender, EventArgs e)

{

comboBox1.Items.Add("e:\\皮肤\\page\\Page.ssk")

comboBox1.Items.Add("e:\\皮肤\\page\\PageColor1.ssk")

comboBox1.Items.Add("e:\\皮肤\\page\\PageColor2.ssk")

}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{

skinEngine1.SkinFile = comboBox1.SelectedItem.ToString()

skinEngine1.AddForm(this)

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11429923.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存