.NET vs2010中使用IrisSkin2.dll轻松实现winForm窗体换肤功能

来源:互联网 发布:思维脑图软件 编辑:程序博客网 时间:2024/05/01 07:56

大家好,从事c-s开发的C#程序员经常为winForm的界面设计苦恼,笔者曾经也深受“美工神话”的危害,如今提到美工,界面布局设计就开始蛋疼….

所幸的是,笔者无意间接触到了一些比较可爱的第三方控件,可以为我们程序员省掉很多美工上面的麻烦…在陆续的博客中我会为大家介绍,今天我们的主题是:IrisSkin2.dll

IrisSkin2.dll是一款很不错的免费皮肤控件,利用它可以轻松的实现winForm窗体换肤!

网上很多朋友说在VS2010中不能使用IrisSkin2.dll,我这里提供一个取巧的办法。

IrisSkin2.dll目前只能在.NET Faremwork 4.0以及之前的版本使用,所以大家在VS2010中可以将自己的项目框架设置为.NET .NET Faremwork 4.0,具体做法见下图:

右键点击你创建的项目—>属性:

将你的目标框架改为.NET Faremwork 4.0或者之前的版本

OK,这样设置,在你的VS2010项目中就可以用IrisSkin2.dll控件了,接下来实现换肤功能只需要几步,非常简单!

首先,最需要的,当然是下载IrisSkin2.dll控件,这里为大家贴出CSDN下载区的地址:

http://download.csdn.net/source/1465571

下载完之后,我们正式进入winForm的换肤之旅…

1. 先把IrisSkin2.dll文件添加到当前项目引用(解决方案资源管理器->当前项目->引用->右键->添加引用,找到IrisSkin2.dll文件.)IrisSkin2.dll文件最好放在当前项目\bin\Debug文件中.

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

 

IrisSkin2.dll关联的皮肤样式文件是后缀名为ssk文件,为了使程序加载方便,可将.ssk文件复制到当前项目\bin\Debug文件中。

在项目中使用如下代码:

this.skinEngine1.SkinFile="DiamondBlue.ssk";
为了比较样式区分,我在Form窗体上放上了Button、Label、grouBox等控件,来观察不同皮肤样式的区别:

 1: private void calmnessToolStripMenuItem_Click(object sender, EventArgs e)
 2: {
 3: this.skinEngine1.SkinFile = "Calmness.ssk";
 4: this.Text = "Calmness样式效果";
 5: }
 6:  
 7: private void deepCyanToolStripMenuItem_Click(object sender, EventArgs e)
 8: {
 9: this.skinEngine1.SkinFile = "DeepCyan.ssk";
 10: this.Text = "DeepCyan样式效果";
 11: }
 12:  
 13: private void eighteenToolStripMenuItem_Click(object sender, EventArgs e)
 14: {
 15: this.skinEngine1.SkinFile = "Eighteen.ssk";
 16: this.Text = "Eighteen样式效果";
 17: }
 18:  
 19: private void mSNToolStripMenuItem_Click(object sender, EventArgs e)
 20: {
 21: this.skinEngine1.SkinFile = "MSN.ssk";
 22: this.Text = "MSN样式效果";
 23: }
 24:  
 25: private void silverToolStripMenuItem_Click(object sender, EventArgs e)
 26: {
 27: this.skinEngine1.SkinFile = "Silver.ssk";
 28: this.Text = "Silver样式效果";
 29: }
 30:  
 31: private void sportsBlackToolStripMenuItem_Click(object sender, EventArgs e)
 32: {
 33: this.skinEngine1.SkinFile = "SportsBlack.ssk";
 34: this.Text = "SportsBlack样式效果";
 35: }
 36:  
 37: private void vista2ToolStripMenuItem_Click(object sender, EventArgs e)
 38: {
 39: this.skinEngine1.SkinFile = "Vista2.ssk";
 40: this.Text = "Vista2样式效果";
 41: }
 42:  
 43: private void xPSilverToolStripMenuItem_Click(object sender, EventArgs e)
 44: {
 45: this.skinEngine1.SkinFile = "XPSilver.ssk";
 46: this.Text = "XPSilver样式效果";
 47: }

IrisSkin2.dll 控件换肤的实现就是这么简单,惊呀吧,惊叹吧。呵呵。下面Show一下换肤后的窗体

DiamondBlue.ssk文件的样式

MSN.ssk文件的样式

Vista2.ssk文件的样式

0 0