winform换肤流程如下:
(1)程序入口,添加以下代码:
//换肤private void Skinjsj() { DevExpress.UserSkins.BonusSkins.Register();DevExpress.UserSkins.OfficeSkins.Register();DevExpress.Skins.SkinManager.EnableFormSkins();FrmSkin f = new FrmSkin(this);f.ShowDialog(this);}
(2)添加引用
DevExpress.BonusSkins
DevExpress.OfficeSkins
(3)DevExpress控件
拖一个DefaultLookAndFeel控件
(4)改变窗体继承
public partial class FrmSkin :DevExpress.XtraEditors.XtraForm
主代码:
/// <summary>/// 把皮肤类型绑定到 LookUpEdit下拉框/// </summary>private void DataSkin(){ArrayList list = new ArrayList();//遍历皮肤,放到列表中foreach (DevExpress.Skins.SkinContainer skin in DevExpress.Skins.SkinManager.Default.Skins){list.Add(skin.SkinName);}//数据绑定lookUpEdit1.Properties.DataSource = list;//是否显示列名lookUpEdit1.Properties.ShowHeader = false;//是否显示底部lookUpEdit1.Properties.ShowFooter = false;//显示第一项lookUpEdit1.ItemIndex = 0;//最多显示10个下拉项lookUpEdit1.Properties.DropDownRows = list.Count > 10 ? 10 : list.Count;}
主题改变事件:
//皮肤 值改变事件private void lookUpEdit1_TextChanged(object sender, EventArgs e){if (lookUpEdit1.Text.Length > 0){defaultLookAndFeel1.LookAndFeel.SetSkinStyle(lookUpEdit1.Text);}}