C# 使用SkinSharp皮肤库
SkinSharp是Windows环境下一款强大的通用换肤库。
SkinSharp作为通用换肤库,只需要在您的程序中添加一行代码,就能让您的界面焕然一新,并拥有多种主题风格和色调的动态切换功能以及Aero透明边框特效。
SkinSharp采用独特的软件界面开发技术,让原本复杂繁琐的界面编程变得轻松自如。SkinSharp换肤库目前支持所有流行的开发工具。SkinSharp可以在不修改客户程序的基础上,对在Windows上运行的任何程序进行随意换肤,完全实现了将程序界面与业务逻辑彻底分离,从而可以让您轻松地完成程序界面的完美升级。
官网:http://www.skinsharp.com/htdocs/index.htm
文件说明:
SkinH_Net.dll SkinSharp换肤引擎, 标准的动态链接库
SkinH_CS.dll SkinSharp引用类库
skinh.she SkinSharp默认皮肤
现以最基本Attach()接口演示如何用一句代码进行换肤。其他接口可以参考官网的文档中心。
Attach()接口默认加载程序当前目录下的skinh.she文件进行换肤。
1. 创建C#.Net Windows应用程序
2. 拷贝软件包Bin目录中的SkinSharp相关文件 (SkinH_Net.dl, SkinH_CS.dll, skinh.she)到程序输出目录下
3. 添加接口类库SkinH_CS.dll的引用
ps:在解决方案那里找到引用=》右键=》添加引用=》选择SkinH_CS.dll
4. 为达到完美效果,需要将视觉样式选项去掉,在Program.cs 文件的Main函数中将启用视觉样式的代码注释
//Application.EnableVisualStyles();
5. 添加换肤代码
using SkinSharp; namespace SkinSharp_Demo
{
public partial class Form1 : Form
{
public SkinH_Net skin;
public Form1()
{
skin = new SkinH_Net();
skin.Attach();
InitializeComponent();
}
参数说明
Attach();//加载程序当前目录下的文件名skinh.she皮肤进行换肤
AttachEx("皮肤路径", "");//加载指定路径的皮肤进行换肤
AttachExt("皮肤路径", "");//加载指定路径的皮肤进行换肤并指定相应的色调,饱和度,亮度
AttachRes(Properties.Resources.storm, Convert.ToUInt32(Properties.Resources.storm.Length), "", , , );//加载指定资源进行换肤,其中的storm即为添加的资源文件,不需要添加she后缀
Detach();//卸载换肤 (注意:在换肤或者程序退出时换肤库会自动卸载当前皮肤,无需再调用此接口进行卸载)
DetachEx();//卸载指定句柄的窗体或者控件的皮肤
| SRET_OK | 0 | 操作成功 |
|---|---|---|
| SRET_ERROR | 1 | 操作失败 |
| SRET_ERROR_READ | 2 | 皮肤文件读取失败 |
| SRET_ERROR_PARAM | 3 | 参数错误 |
| SRET_ERROR_CREATE | 4 | 创建皮肤失败 |
| SRET_ERROR_FORMAT | 5 | 皮肤格式错误 |
| SRET_ERROR_VERSION | 6 | 皮肤版本错误 |
| SRET_ERROR_PASSWORD | 7 | 皮肤密码错误 |
| SRET_ERROR_INVALID | 8 | 皮肤引擎错误 |
C# 使用SkinSharp皮肤库的更多相关文章
- VC皮肤库SkinSharp 1.0.6.6的使用
SkinSharp又称Skin#,是Windows环境下一款强大的换肤组件. SkinSharp作为换肤控件,仅仅须要在您的程序中加入一行代码,就能让您的界面焕然一新,并拥有多种主题风格和色调的动态切 ...
- CozyRSS开发记录2-酷炫的皮肤库
CozyRSS开发记录2-酷炫的皮肤库 1.MaterialDesignToolkit 最开始微软推出Metro设计风格的时候,有人喜欢有人喷.紧接着,Ios也开始做扁平化的UI,这时候,扁平化已成为 ...
- Skin++ 皮肤库 CCheckListBox MFC 界面风格
今天使用CCheckListBox,发现增加进去的字符串无法显示,但是当点击的时候,确有反应. 仔细检查代码,没有问题.之前也是这样用的,完全没有问题. 思前想后,觉得是因为使用了Skin++皮肤库, ...
- VC皮肤库之duilib
首先是个国产的开源 的,directui 界面库,开放,共享,惠众,共赢,遵循bsd协议,可以免费用于商业项目,目前支持Windows 32 .Window CE.Mobile等平台. Duilib ...
- C# 使用IrisSkin2.dll皮肤库C# ssk皮肤
其实皮肤就是一个第三方的控件,名字是IrisSkin2.dll只要添加到你的工具箱里就可以和其它控件一样使用了下面我说一下使用的方法,不对的地方大家多指教啊. 一.添加控件IrisSkin2.dll. ...
- MFC加载皮肤 转自:http://www.cctry.com/thread-4032-1-1.html
VC皮肤库SkinSharp 1.0.6.6的使用: SkinSharp又称Skin#,是Windows环境下一款强大的换肤组件.SkinSharp作为换肤控件,只需要在您的程序中添加一行代码,就能让 ...
- [MFC美化] MFC界面UI库总结
稍微说下自己用过的感受: 1.SkinMagic 动态库DLL使用,(有VC6版本的静态链接库,没能成功调用).对控件:菜单和下拉框(下拉滚动条)有问题.不能自由设置颜色背景 皮肤格式:.smf,可使 ...
- [MFC美化] SkinSharp使用详解2-SkinH.h函数介绍
SkinSharp功能强大,该皮肤库支持完全多种颜色改变等. 下面是静态链接库时的SkinH.h头文件: /*在Stdafx.h文件中加入如下语句 #include "SkinH.h&quo ...
- [MFC美化] SkinSharp使用详解1-使用方法
需要注意的是: 加载换肤后,程序关闭时,无需调用卸载皮肤接口,SkinSharp换肤库会自己完成清理工作.换肤时无需卸载皮肤,直接调用即可. 其DLL使用方法与前面几种皮肤库用法类似.如下: 1. 将 ...
随机推荐
- cocos2dx实现3d拾取注意事项
用的是cocos2dx 3.x,如果是真机测试,glview = cocos2d::GLViewImpl::createWithRect(...)和glview->setDesignResolu ...
- 怎么使用 bat 使用日期时间重命名文件名
d: rename A.txt "A%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%-%time:~3,2%-%time:~6,2%_backu ...
- 用rfkill命令管理蓝牙和wifi
rfkill是一个内核级别的管理工具,可以打开和关闭设备的蓝牙和wifi. #列出所有可用设备rfkill list 输出如下:0: phy0: Wireless LAN Soft blocke ...
- js动态创建表格,删除行列的小例子
js动态创建表格,删除行列的实例代码. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...
- [na]二层+tcp/udp数据包格式
标准:6+6+2+3 =17 3 思科:6+6+2+3+3=20 6 ip首部格式 tcp首部格式
- 安卓getSystemService
getSystemService是Activity中的方法,依据传入的name来取得相应的服务对象,这些服务名称參数都是Context类中的常量 Name ...
- JVM ,Java paper
http://files.cnblogs.com/files/WCFGROUP/IntroductiontoCompilerConstructioninaJavaWorld.pdf A Fast Wr ...
- C#中的 .NET 弱事件模式
引言 你可能知道,事件处理是内存泄漏的一个常见来源,它由不再使用的对象存留产生,你也许认为它们应该已经被回收了,但不是,并有充分的理由. 在这个短文中(期望如此),我会在 .Net 框架的上下文事件处 ...
- JSON数据乱码问题
http://ifeve.com/json-code-problem/ ***************************** 背景 程序员一提到编码应该都不陌生,像gbk.utf-8.ascii ...
- 字符编码的故事:ASCII,GB2312,Unicode,UTF-8,UTF-16
http://blog.csdn.net/longintchar/article/details/51079340 ****************************************** ...