VS2010使用皮肤控件实现换肤功能

在我们平时使用的各种工具中,如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使用皮肤控件实现换肤功能,布布扣,bubuko.com

时间: 2024-12-19 15:11:02

VS2010使用皮肤控件实现换肤功能的相关文章

.NET vs2010中使用IrisSkin2.dll轻松实现winForm窗体换肤功能

.NET vs2010中使用IrisSkin2.dll轻松实现winForm窗体换肤功能 转载▼ 大家好,从事c-s开发的C#程序员经常为winForm的界面设计苦恼,笔者曾经也深受“美工神话”的危害,如今提到美工,界面布局设计就开始蛋疼…. 所幸的是,笔者无意间接触到了一些比较可爱的第三方控件,可以为我们程序员省掉很多美工上面的麻烦…在陆续的博客中我会为大家介绍,今天我们的主题是:IrisSkin2.dll IrisSkin2.dll是一款很不错的免费皮肤控件,利用它可以轻松的实现winFor

C#.NET vs2010中使用IrisSkin4.dll轻松实现WinForm窗体换肤功能

IrisSkin2.dll是一款很不错的免费皮肤控件,利用它可以轻松的实现WinForm窗体换肤 然而IrisSkin2.dll只能在.NET Faremwork 4.0以及之前的版本使用,所以要在VS2010中使用它需要将自己的项目框架设置为.NET Framework 4.0,还有另一种方法就是使用IrisSkin4.dll,他的使用方法和IrisSkin2.dll基本是完全一样的 一.首先在网上下载IrisSkin4.dll(已与皮肤一起打包),将IrisSkin4.dll与Skins(皮

ET vs2010中使用IrisSkin2.dll轻松实现winForm窗体换肤功能

NET vs2010中使用IrisSkin2.dll轻松实现winForm窗体换肤功能 (2010-12-02 21:43:12) 转载▼ 标签: irisskin2使用 vs2010换肤 添加irisskin2 winform换肤 分类: .NET杂谈 大家好,从事c-s开发的C#程序员经常为winForm的界面设计苦恼,笔者曾经也深受“美工神话”的危害,如今提到美工,界面布局设计就开始蛋疼…. 所幸的是,笔者无意间接触到了一些比较可爱的第三方控件,可以为我们程序员省掉很多美工上面的麻烦…在陆

Xceed WPF 主题皮肤控件Xceed Professional Themes for WPF详细介绍

Xceed Professional Themes for WPF是一款为你的整个应用程序提供完美WPF主题风格的控件,包含Office 2007和Windows 7,可以应用到任何微软官方的WPF控件. 具体功能: WPF/.NET技术: 完全基于WPF创建,由C#和XAML编写,适用于.NET 3.5和4.0 完整的XAML源代码可用 兼容CLS 完全整合帮助文档到Visual Studio里 主要功能: 提供了7种预定义WPF主题风格 Glass 主题风格 Media 主题风格,使您的应用

错误记录- 用了皮肤控件之后,报错:容量超出了最大容量 参数名:capacity

http://blog.csdn.net/keenweiwei/article/details/7403869 用了皮肤控件之后,报错:容量超出了最大容量 参数名:capacity MessageBox.show()错误!!容量超出了最大容量.参数名: capacity 解决方案: 设置      skin.SkinDialogs = false; 一些小毛病,但是解决还是稍显麻烦的---不知道错在哪里

解决VS2010使用mscomm控件无法接收数据的问题【转】

之前有用过VC6的mscomm控件.所以这次也想继续用此控件实现此功能,结果没想到刚一上手还真的绕了不少弯子.主要是因为VC2010下对mscomm控件的添加,以及对控件成员变量的添加有点小繁琐,特此把个人实践的经验写下来以供新人参考.说明一下,本人用的xp+VS2010. 如果你正在使用2010,并且想用mscomm控件,遇到如下问题,那你可以看看这篇文章. 1. 添加了mscomm控件以及对应的控件变量以后发现以前mscomm的成员函数,类似setsettings(),commport(),

VCL下最好的皮肤控件AlphaControls 9.05 完美支持XE6 亲测可用

在传统的vcl编程中,因自带的控件效果太过普通,为了更好的用户体验和视觉效果往往会使用第三方的一些皮肤控件,这样的皮肤控件百度上一搜一大把,但往往不了解自己不使用过直接下载下来也是没有用的,因为这要涉及到控件版本 ID工具版本 操作系统 等多方因素配合使用,只有实际测试使用过才可定性. 本文提供的一款控件是经过实际测试过的 测试环境:Windows7 32位 ,Delphi xe6, AlphaControls 9.05 下载链接:http://binstyle.7958.com/down_18

学习如何用VS2010创建ocx控件

1参考文章 (1)这一篇将使用vc创建ocx控件:http://blog.csdn.net/jiadelin/article/details/2917225 (2)这一篇文章有关vs2010创建active控件讲的好: http://www.cnblogs.com/liulixiang/archive/2011/05/23/2054371.html http://www.cnblogs.com/yungboy/archive/2011/01/10/1932433.html (3)这一篇有关vs2

C# Winform中窗体的美化—— 用IrisSkin轻松实现换肤功能

IrisSkin2.dll是一款很不错的免费皮肤控件,利用它可以轻松的实现WinForm窗体换肤然而IrisSkin2.dll只能在.NET Faremwork 4.0以及之前的版本使用,所以要在VS2010中使用它需要将自己的项目框架设置为.NET Framework 4.0,还有另一种方法就是使用IrisSkin4.dll,他的使用方法和IrisSkin2.dll基本是完全一样的 一.首先在网上下载 IrisSkin4.dll (已与皮肤一起打包),将IrisSkin4.dll与Skins(