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 3.x避免空customCommand
1,导致性能悲剧的写法: class A:public CCNode{ public: A(){ m_sprite=NULL; m_isDrawDebug=false; } virtual~A(){} ...
- 安装ELK
1. 安装Elasticsearch a. 下载 : https://download.elasticsearch.org/elasticsearch/release/org/elasticsearc ...
- Java:Swing篇,实现JList、JTextArea的自动滚动,实时刷新功能
1. 功能 作为swing的组件,JList与JTextArea是不可以单独实现滚动功能的,需要与JScrollPane结合才可以. 本代码中: JList实现从其它数据源获取数据,然后依次对这些数据 ...
- U3D-LookAt插值动画
var qua = Quaternion.FromToRotation(Vector3.forward, target.transform.position - transform.position) ...
- 基于FPGA的5寸LCD显示屏的显示控制
基于FPGA的5寸LCD显示屏的显示控制 作者:lee神 1,图像处理基础知识 数字图像处理是指将图像信号转换成数字信号并利用计算机对其进行处理的过程.图像处理最早出现于 20 世纪 50 年代,当时 ...
- Tomcat Jboss Glassfish 三种常见web容器比较
一.缘由: 新公司平台是纯Java架构,有用到Java Web(JSP).Java 业务(EJB).Nginx..Websphere MQ.Mysql这样.大家知道java是跑在容器里的, 这里的业务 ...
- angular学习笔记(四)- input元素的ng-model属性
input元素的ng-model属性: 用于将input的值和变量的值进行双向绑定 <!DOCTYPE html> <html ng-app> <head> < ...
- linux 双显卡问题。。。
bumblebee的作用是禁用nvidia独立显卡,需要使用独显时,使用”optirun 程序名“手动开启nvidia来运行需要加速的程序,如optirun vmware. 打开N卡设置: optir ...
- Windows下 Pycharm连接Github 教程
Pycharm连接Github 绑定账号 1.File->Settings->Version Control->Github Settings.png 会出现github,然后在旁边 ...
- 面向对象 之 [C++面试题]
说到面向对象,大家第一反应应该就是它的三大特性:封装性.继承性和多态性.那么我们先简单的了解一下这三大特性: (1)封装性:封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的 ...