C# Winform中窗体的美化—— 用IrisSkin轻松实现换肤功能

今天经前辈提醒才知道winform窗体还有美化工具,呵呵,不得不说,孤陋寡闻了。下面总结一下irisskin2的使用步骤和遇到的问题及解决办法。
1、网址:http://www.pc6.com/softview/SoftView_70918.html#download
皮肤控件换肤素材包,IrisSkin2.dll皮肤素材资源下载,这是一款与编程开发相关的素材资源,主要是提供一些采用IrisSkin2.dll控件进行软件窗口换肤的素材文件,包括一些GIF图像资源、一些ssk文件,压缩包内一共有22种皮肤素材,使用说明:把控件拖到你的form上,只需一行代码,即可实现整个form包括其所有控件的皮肤的更换, 
总共有几十套皮肤供使用,非常方便。省去你设计开发软件皮肤系统的时间和精力。 
全部源代码就一行: skinEngine1.SkinFile = "WaveColor1.ssk"; 
其中ssk文件为皮肤文件。 
如果上面的不行,就设置skinEngine1控件的SkinFile属性,选择相应的皮肤,记得把前面的路径去掉,只要名字即可 
如SkinFile=G:\360Downloads\皮肤控件\皮肤\MP10\MP10.ssk,要将前面部分删掉,只留皮肤名称,即让SkinFile=MP10.ssk;
 
一.添加控件IrisSkin2.dll。
 
方法:
        1.右键“工具箱”。“添加选项卡”,取名“皮肤”。
        2.右键“皮肤”,“选择项”弹出对话框
        3.点击“浏览“,找到IrisSkin2.dll,,next,next,确定。
        4.在皮肤里会出现。
        5.把SkinEngine拖到设计界面,会出现在下面。
 
     二,把皮肤文件中以ssk为后缀名的文件(如OneGreen.ssk)放在bin文件夹的debug文件夹里。
 
     三,添加代码。
           双击界面,进入代码,
        private void Form1_Load(object sender, EventArgs e)
        {
            skinEngine1.SkinFile = Application.StartupPath + @"\MP10.ssk";
 
        }
2、遇到的问题
(1)网址:http://www.cnblogs.com/xuhongfei/archive/2013/03/02/2939710.html
出现错误:类型 Universe 无法解析程序集: System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a。引起这个问题的原因是新建项目时框架我选的是.Net4.0,然而.Net4.0在安装时包含两种,好像默认的是.Net4.0 Client Profile,在这下面添加时就会报上面的错误。

    解决方法是:在解决方案资源管理器中的工程项上点击右键,选择属性,把FrameWork的框架版本改为.Net4即可。

(2)网址:http://zhidao.baidu.com/link?url=YOvAeHLkOgmE-XKa7YnVFs4qE4a--5bsCKxweIDuYgHwU-TygCGKm1hePlWTDrQ4X9eIjOZfLaqVgWsp2eUgF_

 

 C# 错误!!容量超出了最大容量。参数名: capacity 

解决办法:第二个参数 “提示信息” 长度太长了,2个字应该就可以, 该成 "提示"
3、最后效果图
第一次使用irisskin2美化C#窗体
在添加选项卡时,工具箱里只有常规一个选项卡,右击常规->添加选项卡,然后输入选项卡的名字,最后在右击常规选项卡,勾住全部显示这个选项,刚刚添加的选项卡就能看见了。

第一次使用irisskin2美化C#窗体
最后效果图
第一次使用irisskin2美化C#窗体

第一次使用irisskin2美化C#窗体

弹框这出现的错误上边有,改成提示两个字就好了。
第一次使用irisskin2美化C#窗体
如果想把这个样式应用到所有窗体中,就在属性中把SkinAllForm设置成true,不想就是False。还有把SkinFile选择样式文件的路径,然后才能显示样式。

第一次使用irisskin2美化C#窗体
skinEngine1.SkinFile = Application.StartupPath + @"\DiamondBlue.ssk";
 skinEngine1.SkinFile = "DiamondBlue.ssk"; //样式文件的文件名
在窗体加载的方法中写入这两行代码。


出处:http://blog.sina.com.cn/s/blog_e75e0d9d0102wxk6.html
===================================================================================================

IrisSkin2.dll是一款很不错的免费皮肤控件,利用它可以轻松的实现WinForm窗体换肤然而IrisSkin2.dll只能在.NET Faremwork 4.0以及之前的版本使用,所以要在VS2010中使用它需要将自己的项目框架设置为.NET Framework 4.0,还有另一种方法就是使用IrisSkin4.dll,他的使用方法和IrisSkin2.dll基本是完全一样的

一、首先在网上下载 IrisSkin4.dll (已与皮肤一起打包),将IrisSkin4.dll与Skins(皮肤)一起拷贝到项目的\bin\Debug文件夹下

二、在程序的资源管理器中的【引用】上单击右键,选择【添加引用】,找到刚才复制过来的IrisSkin4.dll文件,点击【确定】

三、【工具】——>【选择工具箱项——>【.NET Framework组件】——>【浏览】——>找到IrisSkin4.dll——>点击【确定】,SkinEngine控件加入到工具箱

四、把控件添加进程序的主窗体,并在主窗体的构造函数中编辑如下一行代码选择皮肤,即可完成渲染

skinEngine1.SkinFile = System.Environment.CurrentDirectory + "\\Skins\\所选皮肤名(后缀为.ssk)";  //选择皮肤文件

使用IrisSkin4.dll换肤的效果是有限的,有时它的渲染效果反而令我们抓狂(比如我用了一个SportsBlue皮肤,然后发现虽然这个皮肤的样式我很喜欢,但在它的渲染下窗体的button实在是很low),这时我们想要自定义自己不满意的控件而不需要皮肤对这些控件进行渲染,只需加上如下一行代码:

skinEngine1.DisableTag = 9999;      //设置不需要被渲染的控件Tag值为9999

然后把不需要被渲染的控件Tag值属性设置为9999,即可显示该控件的自定义样式

 

出处:http://www.tuicool.com/articles/Q3euaa

===================================================================================================

    最近做一些C#数据库开发项目,基本窗体程序做好之后,发现界面较为丑陋,然而,自己又不善于美工,所以想到了求助于第三方帮忙。网上有较多的是利用IrisSkin2.dll文件来开发,然后,本人按照一些解决方案做下来,发现该链接库并不会适合VS2010平台开发的Winform,故此,寻找替代方案,然后,发现了IrisSkin4.dll比较合适的完成了美化工作。综合别人的做法,本人做法如下:

下载地址:http://www.7edown.com/soft/down/soft_39263.html

    1. 将IrisSkin4.dll动态文件导入当前项目引用中。具体操作为:解决方案资源管理器->当前项目->引用->右键->添加引用,找到IrisSkin4.dll文件,然后加入即可。建议,最好把IrisSkin4.dll文件放在当前项目\bin\Debug文件中。

   2. 然后把IrisSkin4.dll文件添加到VS2010的工具箱:视图->工具箱->右键->选择项->浏览找到IrisSkin4.dll文件(文件最好放在当前项目\bin\Debug文件中)按确定,控件就添加到工具箱中了,然后把工具箱中新添加的 SkinEngine控件拖到当前项目中。

  3. 把皮肤目录中的.ssk文件复制到当前项目\bin\Debug文件中,ssk文件可以根据需求自己选择.

  4. 再在项目中调用.ssk皮肤文件。例:

   在自己的主程序的MainForm窗口对应的 MainForm.Designer.cs中,先声明private Sunisoft.IrisSkin.SkinEngine skinEngine1;然后是在InitializeComponent()  (Windows 窗体设计器生成的代码)定义                                 

this.skinEngine1 = new Sunisoft.IrisSkin.SkinEngine(((System.ComponentModel.Component)(this)));  

最后,在MainForm.cs文件中构造函数定义:

this.skinEngine1.SkinFile = Application.StartupPath + "//DiamondBlue.ssk";

同时,为了保证对其他的窗体也产生相应的效果,则在MainForm对应的构造函数中,加入如下代码:

1
    Sunisoft.IrisSkin.SkinEngine se = null;
    se =
new Sunisoft.IrisSkin.SkinEngine();  
   se.SkinAllForm =
true;

  

 

出处:http://www.cnblogs.com/zhaoxiaoming/archive/2012/07/25/Form_Beautify.html

===================================================================================================

外,由于皮肤使用了很多的ssk文件以及dll文件,有时不想要这么多的文件,只是想生成一个exe的应用程序,使用可以把ssk和dll文件整合进exe文件中,具体的可以参考我的另外一篇文章:皮肤和DLL和图片等项目文件完全整合到exe中

posted on 2017-04-01 00:21  jack_Meng  阅读(75312)  评论(3编辑  收藏  举报

导航