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. 将 ...
随机推荐
- 【转】用SQL实现树的查询
树形结构是一类重要的非线性结构,在关系型数据库中如何对具有树形结构的表进行查询,从而得到所需的数据是一个常见的问题.本文笔者以 SQL Server 2000 为例,就一些常用的查询给出了相应的算法与 ...
- Silverlight从客户端上传文件到服务器
这里介绍的是一种利用WebClient手动发送Stream到服务器页面的上传文件方法. 一.服务器接收文件 这里使用一个ASHX页面来接收和保存Silverlight传来的Stream,页面代码如下: ...
- mysql不重启修改参数变量
分享下mysql不重启的情况下修改参数变量的方法. 通常来说,更新mysql配置my.cnf需要重启mysql才能生效,但是有些时候mysql在线上,不一定允许你重启,这时候应该怎么办呢? 例子: m ...
- 批处理学习笔记12 - 拷贝大文件到特定目录 Copy命令
~z 获取文件容量大小,配合变量使用 copy 拷贝命令, copy 原地址 新地址 ok,下面上代码 @echo off setlocal enabledelayedexpansion for %% ...
- 批处理学习笔记6 - 重定向符>和>>
重定向符大概有6,7种,和%符号差不多各有各的用途.这里学习>和>> > 是左边的值把右边的值覆盖 >> 是左边的值添加在右边的值上面 rem 是批处理的注释,类 ...
- [na][tools]快速ping网段工具-QuickPing
一款神器 quickping 能够很快的探测出该网断分出去哪些地址. 在线的会显示绿色 在线的+有主机名的显示为亮绿色
- 更新yum源却忘了生成缓存 造成每次启动机器报:the package list needs to be rebuilt
更新yum源的后一定要执行下面的两条命令: yum clean all yum makecache 注意:如果有第三方源的时候是,开机发果不联网的时候,也会报这个错!!!!!
- 李洪强iOS之集成极光推送一iOS SDK概述
李洪强iOS之集成极光推送一iOS SDK概述 JPush iOS 从上图可以看出,JPush iOS Push 包括 2 个部分,APNs 推送(代理),与 JPush 应用内消息. 红色部分是 A ...
- RTX——第7章 任务管理
以下内容转载自安富莱电子: http://forum.armfly.com/forum.php 单任务系统学习多任务系统之前,我们先来回顾下单任务系统的编程框架,即裸机时的编程框架. 裸机编程主要是采 ...
- AES加解密JS和php互相处理字符
Reference: http://blog.csdn.net/carlos__z/article/details/53185082 JavaScript code? 1 2 3 4 5 6 7 8 ...