用IrisSkin2.dll美化你的WinForm --zt
http://hmyhuo1983.blog.163.com/blog/static/538196192009111642057993/
自己总结 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文件,后缀名为.ssk
3、一个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的下载地址:
http://cid-934eb8b20470bc75.skydrive.live.com/self.aspx/Public/IrisSkin2%7C0Skins.rar
还有人为这么多皮肤的管理专门开发了一款WinForm皮肤管理器,这里提供可执行文件和源代码的下载:
下载地址:http://cid-934eb8b20470bc75.skydrive.live.com/self.aspx/Public/SkinManager[bin+src].rar
根据以下步骤可以实现象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;
}