VS2010皮肤控件介绍
在我們平時使用的各種工具中,如QQ,迅雷,以及各種空間等,都提供了一些換膚功能,可以讓我們選擇各種我們喜歡的界面。本文就對VS中常用的窗口程序做一個簡單的換膚,利用一個dll文件來進行實現(xiàn)。
?
首先我們要加載一個叫做IrisSkin2.dll的dll文件,通過“添加引用”,在應(yīng)用里添加IrisSkin2.dll,就可以完成對這個dll的調(diào)用。然后在工具欄中添加一個SkinEngine的控件。可以在工具欄中添加一個選項卡,比如命名為Skin,然后右鍵單擊,在選擇項的.NETFramework組件中找到SkinEngine的控件。
?
?
?
這時候,我們就能看到在工具欄中有了一個SkinEngine的控件了。
除此之外,我們還需要一個皮膚文件,通常后綴為.ssk,或者是.skn文件。可以用兩種方法來實現(xiàn),一種是在bin/Debug中添加名為ssk的文件,此種方法比較簡單,只需要在程序中添加如此代碼就OK了。
this.skinEngine1.SkinFile?=??"MSN.ssk";
文件名可以是任意存在的文件名。只要是在Debug里存在的。
另一種方法是使用MemoryStream。通過一個簡單的函數(shù)來設(shè)置來實現(xiàn)。
private?void?SetSkinFile(byte[]?bytes)
????????{
????????????memoryStream=new?MemoryStream(bytes);
????????????skinEngine1.SkinStream?=?memoryStream;????????????
????????}
在使用的時候,需要調(diào)用該函數(shù),如SetSkinFile(Properties.Resources.Wave1);使用Resources文件的前提是必須在Resource中添加相應(yīng)的資源。具體方法如下:
選擇Properties中的Resources,選擇添加資源,將相對應(yīng)的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);????????????
????????}
//此處實現(xiàn)的是通過按鈕來實現(xiàn)不斷換膚功能,主要是對bin里面的
????????//幾個皮膚文件做循環(huán)
????????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;????????????
????????}
????}
}
以上程序的運行效果如下:
?
?
如此一來,只要我們有相應(yīng)的皮膚文件,都可以加到我們想要的窗口上,實現(xiàn)窗口的美化。
具體源碼可以在此免費下載:http://download.csdn.net/source/2862647
總結(jié)
以上是生活随笔為你收集整理的VS2010皮肤控件介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。