本篇文章主要讲解如何用 IrisSkin2.dll来动态的对WinForm界面进行更换皮肤操作,在操作之前,应该确保有IrisSkin2.dll和一些稍微漂亮些的皮肤文件(以.ssk结尾),把它们放置在你自认为很合适的位置,为了演示用我把IrisSkin2.dll和皮肤文件放置在了应用程序的Debug下面,所有的皮肤文件放置在了以skin为命名的文件夹下如下图所示
skin文件夹下的皮肤文件和我自己定义的INI配置文件(此文件将会在后面讲到,关于INI配置文件的相关信息在我以上的文章中已提到过,在此不再详细讲解关于操作INI文件的文章链接地址是
http://www.cnblogs.com/wangsaiming/archive/2011/04/25/2028601.html
)
现在先把我主要要实现什么样的功能和应用皮肤之后的效果图先截图下来,以便于后面的详细讲解。效果图如下:
以下图示是效果图
在最上方的两个截图中,有个系统皮肤的子菜单项,子菜单项的内容不是输入进去的,而是在后台进行动态的绑定的,也就是说你的皮肤文件有多少个,在程序运行的时候
就会在系统皮肤的菜单项里添加多少个皮肤,你选中每个皮肤的时候这时界面就会随着你选中的皮肤更改而变化。
下面就具体的来讲解如何实现:
首先要引用IrisSkin2.dll文件,在工具箱的-->>常规栏下选择-->>选择项此时会弹出个窗口如下:
单击浏览按钮选择你要添加的IrisSkin2.dll之后,此时会在工具箱中发现该控件,把这个控件添加到窗体界面上就可以了。
现在可以来进行操作了;在窗体的加载时绑定自定义的绑定皮肤方法
代码如下:
下面是自定义的绑定皮肤的方法:
View Code
里面有个INIFiles这个是自定义操作INI文件的类(操作INI文件以前讲过(
),在此不再详细讲解)
sSkinPath和sSkInName是声明的变量
如下所示
#region "声明变量"
private string sSkInName = "";
private string sSkinPath = Application.StartupPath + @"\skin";//获取皮肤的路径
#endregion
里面最主要的就是 skinToolStripMenuItem.Click += new EventHandler(skinToolStripMenuItem_Click);
skinToolStripMenuItem_Click也是自定义的如下所示:
View Code
这个窗体操作时默认的配置文件。