winform使用skinEngine控件美化皮肤问题

我的程序是一个父窗体,内嵌子窗体,我在父窗体的load事件中设置了主题,也应用成功了,但是我现在需要其中一个子窗体保持原主题不变,不想受主题影响,要怎么处理啊?... 我的程序是一个父窗体,内嵌子窗体,我在父窗体的load事件中设置了主题,也应用成功了,但是我现在需要其中一个子窗体保持原主题不变,不想受主题影响,要怎么处理啊? 展开
 我来答
5789789
2016-09-14 · TA获得超过1270个赞
知道小有建树答主
回答量:435
采纳率:0%
帮助的人:350万
展开全部

这个不难,对父窗体和子窗体分别设置skinEngine,为了对得起你300的分数,现在下面写下详细步骤

  1. 新建2个form,Form1和Form2,在form1中添加一个button1按钮

  2. 在程序的bin文件内添加2个ssk文件,这里我以“DeepGreen.ssk”和“DeepOrange.ssk”为例

  3. 在解决方案的引用里添加IrisSkin2.dll

  4. 这时,在工具栏会多出一个SkinEngine控件

  5. 分别在form1和form2中拖入一个skinEngine控件

  6. 在Form1的load事件中添加:

  7.    private void Form1_Load(object sender, EventArgs e)
      {
        this.skinEngine1.SkinFile = "DeepGreen.ssk";
      }
  8. 在Form1的button事件中添加:

  9.         private void button1_Click(object sender, EventArgs e)
            {
                Form2 fm = new Form2();
                fm.ShowDialog();
            }
  10. 在Form2的load事件中添加:

  11.         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;
        }

 效果如下:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式