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皮肤库的更多相关文章

  1. VC皮肤库SkinSharp 1.0.6.6的使用

    SkinSharp又称Skin#,是Windows环境下一款强大的换肤组件. SkinSharp作为换肤控件,仅仅须要在您的程序中加入一行代码,就能让您的界面焕然一新,并拥有多种主题风格和色调的动态切 ...

  2. CozyRSS开发记录2-酷炫的皮肤库

    CozyRSS开发记录2-酷炫的皮肤库 1.MaterialDesignToolkit 最开始微软推出Metro设计风格的时候,有人喜欢有人喷.紧接着,Ios也开始做扁平化的UI,这时候,扁平化已成为 ...

  3. Skin++ 皮肤库 CCheckListBox MFC 界面风格

    今天使用CCheckListBox,发现增加进去的字符串无法显示,但是当点击的时候,确有反应. 仔细检查代码,没有问题.之前也是这样用的,完全没有问题. 思前想后,觉得是因为使用了Skin++皮肤库, ...

  4. VC皮肤库之duilib

    首先是个国产的开源 的,directui 界面库,开放,共享,惠众,共赢,遵循bsd协议,可以免费用于商业项目,目前支持Windows 32 .Window CE.Mobile等平台. Duilib ...

  5. C# 使用IrisSkin2.dll皮肤库C# ssk皮肤

    其实皮肤就是一个第三方的控件,名字是IrisSkin2.dll只要添加到你的工具箱里就可以和其它控件一样使用了下面我说一下使用的方法,不对的地方大家多指教啊. 一.添加控件IrisSkin2.dll. ...

  6. MFC加载皮肤 转自:http://www.cctry.com/thread-4032-1-1.html

    VC皮肤库SkinSharp 1.0.6.6的使用: SkinSharp又称Skin#,是Windows环境下一款强大的换肤组件.SkinSharp作为换肤控件,只需要在您的程序中添加一行代码,就能让 ...

  7. [MFC美化] MFC界面UI库总结

    稍微说下自己用过的感受: 1.SkinMagic 动态库DLL使用,(有VC6版本的静态链接库,没能成功调用).对控件:菜单和下拉框(下拉滚动条)有问题.不能自由设置颜色背景 皮肤格式:.smf,可使 ...

  8. [MFC美化] SkinSharp使用详解2-SkinH.h函数介绍

    SkinSharp功能强大,该皮肤库支持完全多种颜色改变等. 下面是静态链接库时的SkinH.h头文件: /*在Stdafx.h文件中加入如下语句 #include "SkinH.h&quo ...

  9. [MFC美化] SkinSharp使用详解1-使用方法

    需要注意的是: 加载换肤后,程序关闭时,无需调用卸载皮肤接口,SkinSharp换肤库会自己完成清理工作.换肤时无需卸载皮肤,直接调用即可. 其DLL使用方法与前面几种皮肤库用法类似.如下: 1. 将 ...

随机推荐

  1. 权限管理系统(一):权限系统与RBAC模型概述

    RBAC模型概述 RBAC即角色访问控制(Role Based Access Control) RBAC认为权限授权实际上是Who.What.How的问题.在RBAC模型中,who.what.how构 ...

  2. CSS实现超级链接需要通过双击后跳转

    超级链接需要双击后跳转如何实现. CSS代码.test3 span { position: relative;}.test3 span a { position: relative;z-index: ...

  3. tomcat的server.xml配置及context配置直接引用工程

    server.xml配置简介         下面是这个文件中的基本配置信息,更具体的配置信息见tomcat的文档         server:         port     指定一个端口,这个 ...

  4. PairRDD中算子foldByKey图解

    foldByKey 函数原型: def foldByKey(zeroValue: V)(func: (V, V) => V): RDD[(K, V)] def foldByKey(zeroVal ...

  5. electron 的窗口设置最大化 最小化

    /** * Created by Administrator on 2016/11/23. * 页面对窗口的一些操作封装,用于渲染进程 */ "use strict"; const ...

  6. LINQ架构简单描述

    写在前面的话:课堂上老师只是简单提了一下LINQ,当时听着老师对它的描述,感觉非常神奇,不用去操作繁琐的SQL语句了,读取数据库的操作居然能向写C#代码一样方便,但是一直没有机会去学习使用它. LIN ...

  7. servlet的编码原理

    编码问题: 在介绍编码问题前,先介绍一下java平台(JVM)上的编码转化情况.首先要说明的一点,在JVM中,即java平台上,运行的程序一定都是Unicode编码方式的.对于代码中的字符串常量,根据 ...

  8. centos7搭建python3并和python2共存

    注意事项:1.非root帐号加上sudo2.centos7自带Python 2.7.5是不能卸载的,很多系统级软件依赖这个 安装依赖# yum -y groupinstall "Develo ...

  9. 浅析js前端发展及mvvm的选型

    最近终于下定决心学点前端的东西,然而各种框架,让人眼花缭乱. 先总结一下js前端的发展史 1.刀耕火种,原始时代 这个时候用DOM原生API来操html元素,估计getElementBy之类的函数满天 ...

  10. ExtJs Ext.form.field.TextArea+Ckeditor 扩展富文本编辑器

    Ext.define("MyApp.base.BaseTextArea", { extend: "Ext.form.field.TextArea", xtype ...