winform使用skinEngine控件美化皮肤问题
我的程序是一个父窗体,内嵌子窗体,我在父窗体的load事件中设置了主题,也应用成功了,但是我现在需要其中一个子窗体保持原主题不变,不想受主题影响,要怎么处理啊?...
我的程序是一个父窗体,内嵌子窗体,我在父窗体的load事件中设置了主题,也应用成功了,但是我现在需要其中一个子窗体保持原主题不变,不想受主题影响,要怎么处理啊?
展开
1个回答
展开全部
这个不难,对父窗体和子窗体分别设置skinEngine,为了对得起你300的分数,现在下面写下详细步骤
新建2个form,Form1和Form2,在form1中添加一个button1按钮
在程序的bin文件内添加2个ssk文件,这里我以“DeepGreen.ssk”和“DeepOrange.ssk”为例
在解决方案的引用里添加IrisSkin2.dll
这时,在工具栏会多出一个SkinEngine控件
分别在form1和form2中拖入一个skinEngine控件
在Form1的load事件中添加:
private void Form1_Load(object sender, EventArgs e)
{
this.skinEngine1.SkinFile = "DeepGreen.ssk";
}在Form1的button事件中添加:
private void button1_Click(object sender, EventArgs e)
{
Form2 fm = new Form2();
fm.ShowDialog();
}在Form2的load事件中添加:
private void Form2_Load(object sender, EventArgs e)
{
this.skinEngine1.SkinFile ="DeepOrange.ssk";
}
执行代码,效果如图所示:
如果要让form2的效果跟随系统,可以将则将form2的load事件改为:
private void Form2_Load(object sender, EventArgs e)
{
this.skinEngine1.SkinFile = null;
}
效果如下:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询