在我们平时使用的各种工具中,如QQ,迅雷,以及各种空间等,都提供了一些换肤功能,可以让我们选择各种我们喜欢的界面。本文就对VS中常用的窗口程序做一个简单的换肤,利用一个dll文件来进行实现。

首先我们要加载一个叫做IrisSkin2.dll的dll文件,通过“添加引用”,在应用里添加IrisSkin2.dll,就可以完成对这个dll的调用。然后在工具栏中添加一个SkinEngine的控件。可以在工具栏中添加一个选项卡,比如命名为Skin,然后右键单击,在选择项的.NETFramework组件中找到SkinEngine的控件。

这时候,我们就能看到在工具栏中有了一个SkinEngine的控件了。

除此之外,我们还需要一个皮肤文件,通常后缀为.ssk,或者是.skn文件。可以用两种方法来实现,一种是在bin/Debug中添加名为ssk的文件,此种方法比较简单,只需要在程序中添加如此代码就OK了。

this.skinEngine1.SkinFile =  "MSN.ssk";

文件名可以是任意存在的文件名。只要是在Debug里存在的。

另一种方法是使用MemoryStream。通过一个简单的函数来设置来实现。

private void SetSkinFile(byte[] bytes)

{

memoryStream=new MemoryStream(bytes);

skinEngine1.SkinStream = memoryStream;

}

在使用的时候,需要调用该函数,如SetSkinFile(Properties.Resources.Wave1);使用Resources文件的前提是必须在Resource中添加相应的资源。具体方法如下:

选择Properties中的Resources,选择添加资源,将相对应的SSK资源添加进来。

整个窗口的代码如下:

using System;

using System.Windows.Forms;

using System.IO;

namespace 皮肤

{

public partial class Form1 : Form

{

private int num = 0;

private MemoryStream memoryStream;

public Form1()

{

InitializeComponent();

SetSkinFile(Properties.Resources.Wave1);

}

//此处实现的是通过按钮来实现不断换肤功能,主要是对bin里面的

//几个皮肤文件做循环

private void button1_Click(object sender, EventArgs e)

{

num = (num++) % 6 + 1;

this.skinEngine1.SkinFile =  num + ".ssk";

}

private void SetSkinFile(byte[] bytes)

{

memoryStream=new MemoryStream(bytes);

skinEngine1.SkinStream = memoryStream;

}

}

}

以上程序的运行效果如下:

如此一来,只要我们有相应的皮肤文件,都可以加到我们想要的窗口上,实现窗口的美化。

具体源码可以在此免费下载:http://download.csdn.net/source/2862647

VS2010皮肤控件介绍相关推荐

  1. 皮肤控件 IrisSkin4.dll / IrisSkin2.dll的下载及调用样例

    1,从其官下载 完整安装包,并安装到本地    http://irisskin.software.informer.com/download/ 2, VS2010用 IrisSkin4.dll, 这个 ...

  2. Web开发中的弹出对话框控件介绍

    Web开发中,目前由于Jquery的大行其道,因此很多弹出对话框,都用到了Jquery技术,反而原始的弹出对话框的方式较为少用了.不过基于JQuery的方式实现对话框窗口弹出,也有很多控件可以利用,由 ...

  3. Qt常用控件介绍(一)

    Qt常用控件介绍 Qt Creator 的使用技巧 Qt Creator的常用快捷键 按钮 QPushButton QToolButton QRadioButton QCheckBox QComman ...

  4. 透明皮肤控件设计系列(一):前言

    转自:http://www.138soft.com/?p=35 Delphi的皮肤控件非常多,例如DynamicSkinForm等等.以前都是习惯直接使用第三方皮肤控件,后来在开发一个内部IM聊天工具 ...

  5. alpha组件 color_标准皮肤控件组件AlphaControls发布 v15版本,添加了多种新属性 | 附下载...

    AlphaControls是一个标准的皮肤控件集合,它具有很多新的属性,可以添加到普通的控件中以增强程序界面效果,同时还能添加一些行为到普通的控件中,并使用了一些新技术.AlphaControls是一 ...

  6. Delphi著名皮肤控件库横向对比

    皮肤这东西很多人褒贬不一,有人认为程序做的好就行了,界面还是保持原生态来的稳定.的确,稳定是程序至关重要的一点,离开这点其他任何都无从谈起,但不可否认,无论是微软.苹果,还是大众用户,审美观越来越高, ...

  7. operamasks-ui2.0 +MVC4.0+EF5.0实战之一 开篇及布局控件介绍

    两年前,曾打算自己开发一个web开发框架,把部门.人员.权限.日志作为基本服务加入进去,在其基础上可以做业务快速开发,结果没有坚持下去,仅仅开了个头就夭折了.究其原因,一方面是采用自己完全不熟悉的新技 ...

  8. Flutter 系列文章:Flutter Icon 控件介绍

    Flutter Icon 控件介绍 一.使用方法 构造方法 Icon(this.icon, {Key key,this.size,this.color,this.semanticLabel,this. ...

  9. QT信号与槽-启动系统程序以及相关控件介绍

    1.1 创建一个继承至QWidget的项目. 1.2 设计界面,分析界面采用的布局方式. 首先,每行控件采用水平布局方式,第三行为了使控件靠右,前面添加一个占位控件. 三行采用垂直平局: 选中控件,通 ...

最新文章

  1. mysql min函数 结果全为null_MySQL ----- 聚集函数(AVG,SUM,COUNT,MIN,MAX) (十一)
  2. MySQL高可用群集------配置MMM高可用架构
  3. GDCM:读取和转储DICOMDIR文件的测试程序
  4. 我尽力了,为啥还是Bug不断?
  5. 77种互联网盈利创新模式(3)
  6. 前端学习(3328):闭包的形式3
  7. 【数据结构----笔记4】插入排序算法之【折半插入排序算法】
  8. 潘多拉固件设置ipv6_(转)pandorabox固件+PPPOE拨号+IPV6
  9. ASP.NET Core 新建项目(Windows) - ASP.NET Core 基础教程 - 简单教程,简单编程
  10. 【c++】笔记:输入带空格的字符串
  11. Python --链接MYSQL数据库与简单操作 含SSH链接
  12. HAProxy + Keepalived实现MySQL的高可用负载均衡
  13. html引入思源黑体
  14. cba比赛比分预测_2019-20赛季CBA第5轮比赛预测!
  15. Vue使用debugger
  16. convert bitset descriptor - cv::Mat
  17. 乐得瑞LDR6282B 支持双C口盲插便携显示器驱动板方案
  18. CVPR21Look Closer to Segment Better: Boundary Patch Refinement for Instance Segmentation
  19. html5 ie7兼容性问题,解决浏览器IE6,IE7兼容性的总结
  20. SecureCRT使用SSH连接很慢问题解决

热门文章

  1. 炸窝(Java)拼接
  2. 机器学习基础-吴恩达-coursera-(第一周学习笔记)----Introduction and Linear Regression
  3. 使用C++的方式实现AES算法
  4. 能让你成为更优秀程序员的10个C语言资源
  5. 我的职场战争--一年来的开发组内战实录
  6. sql 查询结果为null替换 为 0
  7. Failed to install Tomcat7 service 解决
  8. FreeSql (十五)查询数据
  9. 1030 完美数列 (25 分)二分
  10. Web项目替换jar包中的文件的方法