勇哥注:
这是篇转自公众号“HwLib慧兰博”的文章。这个公众号貌似是一个团队在运营,都是工业自动技术相关
本文介绍的是皮肤控件IrisSkin,在之前勇哥用的是DotNetBar,这个东西是好是好,只是比较慢。而IrisSkin速度如何,各位可以体验一下。
WinForms由于先天性的缘故,对于酷炫的界面实现起来比较困难。这就导致早期很多公司或者团队都在致力于开发针对WinForms的换肤控件。不过随着互联网行业的兴起,桌面端逐渐衰落,慢慢这些换肤控件也已转入维护周期,很少有新版本发布了。但是在工业领域,桌面程序依然占据了大部分市场,其中WinFroms依然是桌面程序开发的主流。也就是说,我们工控人员对换肤控件还是依然有需求的。在今天,我们介绍换肤控件并不过时。
在众多的换肤控件中,IrisSkin系列控件最为受欢迎,另外它也支持自定义皮肤文件。下面我们介绍该控件的简单使用方法。首先在VS项目的工具箱中右击,点击“选择项”。
图1 工具箱里面添加控件
在弹出窗口中点击按钮“浏览”。
图2 选择工具箱项
打开存放控件的文件夹,选中控件“IrisSkin4.dll”。
图3 添加控件IrisSkin4.dll
然后我们就可以在工具箱中看到一个名为“SkinEngine”的控件了。
图4 工具箱中的控件SkinEngine
将控件SkinEngine、ComboBox以及一些其它控件拖到窗口上。并为控件ComboBox添加可供选择的皮肤文件名称。
图5 添加控件
在下拉列表框的选择事件中写入下面代码。
图6 选择皮肤
保存并运行项目,点击下拉列表框控件ComboBox就可以选择不同的皮肤文件,实现在线换肤。
图7 选择皮肤文件(Mac风格)
有一点需要注意,在运行之前我们需要将皮肤文件夹拷贝到路径“.\bin\Debug”下面,否则程序运行时会因为找不到皮肤文件而报错。控件IrisSkin4.dll会对窗体上的所有控件进行美化,如果我们觉得有的控件不需要美化那么只需要在窗体的构造方法中添加下面代码即可。
图8 禁止美化
在上面的代码里我们为控件IrisSkin设置了一个标记用于区别哪些控件不用被美化。我们只需要将不需要美化的控件属性“Tag”值设置为888即可。
图9 设置控件Tag属性
在上图中我们将控件“button2”的属性“Tag”设置为888,那么在运行时该控件就不会被美化。下图是运行后的效果,可以看到该按钮还是系统风格。
图10 设置控件禁止被美化
HwLib(慧兰博)技术团队专注于高端自动化技术,如果您对我们的技术教程感兴趣的话,可以X宝上搜索店铺“hwlib”或者“慧兰博”
关于HwLib(慧兰博)技术团队的更多信息:www.hwlib.com.cn
HwLib(慧兰博)技术团队技术资料:
https://pan.baidu.com/s/1t-5BPQmeUbWRVH9FJ-tjPg
提取码:63rt
引用自:
另转一篇介绍常见的.net控件库:
1. 东日IrisSkin
IrisSkin 共有两个版本,一个是IrisSkin.dll 用于.Net Framework1.0/1.1 和IrisSkin2.dll 用于.Net Framework2.0版本。详细内容见安装文件的help文档。
除此之外,东日还有两个很cool的Menu: MatrixMenu和WheelMenu。
(详细内容请参见http://www.sunisoft.cn/irisskin)。
2. Skin
这个是我最初使用过的换肤控件,通过添加一个com引用,然后初始化一个skin对象,通过InitializeSkin引入ssk文件进行换肤。(详细内容请参见http://www.uipower.com)。
3.DotNetSkin
DotNetSkin的用法和IrisSkin差不多。此外,网站提供了几个免费的很cool的控件,
Button,RadioButton, CheckBox, 那个button和codeproject的XPButton有的一拼了。
(详细内容请参见http://www.dotnetskin.net)。
4.SkinCrafter
SkinCrafter地用法和Skin 有点类似,都是添加一个Com引用,然后加上几句语句用来Load皮肤,和Apply皮肤。另外,SkinCrafter还另外提供了为Windows Installer换肤的软件。
(详细内容请参见http://www.skincrafter.com)。
5.Appface
Appface支持的语言与开发环境是我见到的最多的,在。net上面使用起来相对前面4中都相对复杂一点, 不过看看那个Demo也差不多会了,还是几个函数的使用。
(详细内容请参见http://www.appface.net)。
6.SkinEngine
Alcyonesoft推出了SkinEngine,支持的语言数目与Appface不相上下,用法和Skin , SkinCrafter类似。(详细内容参见http://www.ksdev.com)
其他还有
DotNetMagic提供了许多漂亮的控件(http://www.dotnetmagic.com),
DotNetBar许多很有创意,很炫的控件(http://www.devcomponents.com)
Divelements 的许多漂亮的控件(http://www.divelements.co.uk)
另外国内的。net控件网搜集了很多。net下的控件(http://www.dnc.com.cn)

