自己总结 winform 皮肤IrisSkin2.dll的操作
主窗口Form 定义 Form1.Designer.cs 1声明private Sunisoft.IrisSkin.SkinEngine skinEngine1; 2然后是在InitializeComponent() / Windows 窗体设计器生成的代码/定义 this.skinEngine1 = new Sunisoft.IrisSkin.SkinEngine(((System.ComponentModel.Component)(this)));3在Form.cs文件中构造函数定义: this.skinEngine1.SkinFile = Application.StartupPath + "//DiamondBlue.ssk";1. 先把IrisSkin2.dll文件添加到当前项目引用(解决方案资源管理器->当前项目->引用->右键->添加引用,找到IrisSkin2.dll文件.....之后就不用我说了吧^_^).IrisSkin2.dll文件最好放在当前项目\bin\Debug文件中.
2. 然后把IrisSkin2.dll文件添加到vc2005的工具箱:右键->选择项->浏览找到IrisSkin2.dll文件(文件最好放在当前项目\bin\Debug文件中)按确定,控件就添加到工具箱中了.然后把工具箱中新添加的 SkinEngine控件拖到当前项目中。
3. 把皮肤目录中的.ssk文件复制到当前项目\bin\Debug文件中,(ssk文件可选).
4. 再在项目中调用.ssk皮肤文件。例:
摘抄:
在WinForm中,可以方便地给自己的程序添加皮肤,做出各种绚丽的效果,而只需要很简单的几句代码即可搞定,下面来领略下。
前期准备:1、IrisSkin2.dll,这个是今天的主角2、Skin文件,后缀名为.ssk3、一个WinForm程序
第一步:
为WinForm的解决方案中添加IrisSkin2.dll的引用
第二步:
在窗口类中添加一个成员变量 Sunisoft.IrisSkin.SkinEngine se = null;
在窗口类的构造函数中写如下代码:
se = new Sunisoft.IrisSkin.SkinEngine(); se.SkinAllForm = true;
第三步:
在你想为你的窗体应用皮肤的事件中写如下的代码
se.SkinFile = "Skins\\Vista1.ssk"; //SkinFile后面跟的是你的ssk文件的路径,相对或是绝对都可以
比如我想按一个按钮button1,就能将整个窗体的皮肤变成Vista1样式
private void button1_Click(object sender, EventArgs e) { se.SkinFile = "Skins\\Vista1.ssk"; }
是不是很简单呢?
这样即使是在Vista以下的操作系统上,你的程序也能照样保持Vista的风格啦!
提供73种皮肤和IrisSkin2.dll的下载地址:
还有人为这么多皮肤的管理专门开发了一款WinForm皮肤管理器,这里提供可执行文件和源代码的下载:
下载地址:
根据以下步骤可以实现象MSN一样,更换Winform界面的皮肤,可以由用户来自己选择皮肤
第一、引用IrisSkin2.dll组件(下载)
说明:IrisSkin2.dll是一个第三方组件
第二、代码
更换Winform界面的皮肤
public partial class Form1 : Form
{Sunisoft.IrisSkin.SkinEngine se = null;
public Form1() { InitializeComponent();se = new Sunisoft.IrisSkin.SkinEngine();
se.SkinAllForm = true; // 这句话是用来设置整个系统下所有窗体都采用这个皮肤 }private void Form1_Load(object sender, EventArgs e)
{}
private void button1_Click(object sender, EventArgs e)
{ se.SkinFile = "skin/SteelBlack.ssk"; // 选择皮肤 }private void button2_Click(object sender, EventArgs e)
{ se.SkinFile = "skin/MSN.ssk"; // 选择皮肤 }private void button3_Click(object sender, EventArgs e)
{ se.SkinFile = "skin/MP10.ssk"; Form2 f = new Form2(); f.Show(); } }
说明: "skin/SteelBlack.ssk" , 这是一个路径,是.ssk文件存放的路径
Application.StartupPath 获取可执行文件的路径 图片交换效果private void pictureBox1_MouseLeave(object sender, EventArgs e)
{ //重点 System.Drawing.Bitmap deng = new System.Drawing.Bitmap(Application.StartupPath + "//img/denglu.jpg"); this.pictureBox1.Image = deng;}
private void pictureBox2_MouseMove(object sender, MouseEventArgs e)
{ System.Drawing.Bitmap tuichu2 = new System.Drawing.Bitmap(Application.StartupPath + "//img/tuichu2.jpg"); this.pictureBox2.Image = tuichu2; }