C#的WinForm窗体美化
为了帮助用户追求美观,.NET 4.0 专门为对此有需求的人提供了IrisSkin4.dll皮肤引用集,里面封装了许多对窗体重新描绘的方法,再搭配上WinForm特有的 .ssk 文件,就可以实现窗体的主题式美化,下面介绍如何使用这个皮肤引用集(用例项目名称为:Test 开发环境:Visual Studio 2012):
- 将IrisSkin4.dll下载至电脑中,并建议将该文件存放至项目的Debug中。(方便引用)
- 进入项目,右键点击Test窗体类的引用->点击”浏览“->找到项目的Debug文件夹->双击IrisSkin4.dll文件->点击确定后,在引用集里就会出现“IrisSkin4”
- 打开工具箱(看不到的请点击菜单栏中的视图->工具箱即可),然后在工具箱的空白处右键->添加选项卡,名称怎么好记怎么起,新建好应该会有“此组中没有可用控件”,然后将我们Debug中的IrisSkin4.dll文件,直接拖动到这些字上,也就是往这个选项卡里加控件。成功后如下图:
- 然后拖动SkinEngine控件到窗体上,成功后如下图:
- 自此美化窗体的环境全部搭建完成。
有了环境之后,窗体的美化工作就和我们平时接触到的换肤操作有些相似(就是选择一个皮肤,然后点击更换),但在C#窗体开发中,这种“换肤操作”不是很容易的。首先要明白一个点就是,窗体的皮肤文件都是以 “.ssk”为后缀名的,所以,我们要先去制作窗体的皮肤文件,才能实现“换肤”。(但是这就需要美工基础了,所以博主在这里提供了一些现成的美观的ssk文件提供阅读者下载,皮肤不是我做的,我整理的,尊重原作者。)
下面,我就给阅读者简单的分享一下流程吧:
- 首先将现成的.ssk文件放在项目的Debug中,这也是方便引用。(用例为DeepCyan.ssk)
- 然后在Form1.cs的InitializeComponent();下添加如下代码:
this.skinEngine1 = new Sunisoft.IrisSkin.SkinEngine(((System.ComponentModel.Component)(this))); this.skinEngine1.SkinFile = Application.StartupPath + "//皮肤文件名";
用例中如图:
3. 然后保存代码,我们试试看效果怎么样!
4. 自此美化界面基本完成,是不是很容易。无须美工基础,简单的审美即可。
这种简单的窗体美化有助于开发的系统整体保持一个风格,增强用户的体验性和视觉感受。
使用IrisSkin4.dll换肤的效果是有限的,有时它的渲染效果反而令我们抓狂(比如我用了一个SportsBlue皮肤,然后发现虽然这个皮肤的样式我很喜欢,但在它的渲染下窗体的button实在是很low),这时我们想要自定义自己不满意的控件而不需要皮肤对这些控件进行渲染,只需加上如下一行代码:
skinEngine1.DisableTag = 9999; //设置不需要被渲染的控件Tag值为9999
然后把不需要被渲染的控件Tag值属性设置为9999,即可显示该控件的自定义样式