C# Winform中窗體的美化—— 用IrisSkin輕松實現換膚功能


今天經前輩提醒才知道winform窗體還有美化工具,呵呵,不得不說,孤陋寡聞了。下面總結一下irisskin2的使用步驟和遇到的問題及解決辦法。
1、網址: http://www.pc6.com/softview/SoftView_70918.html#download
皮膚控件換膚素材包,IrisSkin2.dll皮膚素材資源下載,這是一款與編程開發相關的素材資源,主要是提供一些采用IrisSkin2.dll控件進行軟件窗口換膚的素材文件,包括一些GIF圖像資源、一些ssk文件,壓縮包內一共有22種皮膚素材,使用說明:把控件拖到你的form上,只需一行代碼,即可實現整個form包括其所有控件的皮膚的更換, 
總共有幾十套皮膚供使用,非常方便。省去你設計開發軟件皮膚系統的時間和精力。 
全部源代碼就一行: skinEngine1.SkinFile = "WaveColor1.ssk"; 
其中ssk文件為皮膚文件。 
如果上面的不行,就設置skinEngine1控件的SkinFile屬性,選擇相應的皮膚,記得把前面的路徑去掉,只要名字即可 
如SkinFile=G:\360Downloads\皮膚控件\皮膚\MP10\MP10.ssk,要將前面部分刪掉,只留皮膚名稱,即讓SkinFile=MP10.ssk;
 
一.添加控件IrisSkin2.dll。
 
方法:
        1.右鍵“工具箱”。“添加選項卡”,取名“皮膚”。
        2.右鍵“皮膚”,“選擇項”彈出對話框
        3.點擊“瀏覽“,找到IrisSkin2.dll,,next,next,確定。
        4.在皮膚里會出現。
        5.把SkinEngine拖到設計界面,會出現在下面。
 
     二,把皮膚文件中以ssk為后綴名的文件(如OneGreen.ssk)放在bin文件夾的debug文件夾里。
 
     三,添加代碼。
           雙擊界面,進入代碼,
        private void Form1_Load(object sender, EventArgs e)
        {
            skinEngine1.SkinFile = Application.StartupPath + @"\MP10.ssk";
 
        }
2、遇到的問題
(1)網址: http://www.cnblogs.com/xuhongfei/archive/2013/03/02/2939710.html
出現錯誤:類型 Universe 無法解析程序集: System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a。 引起這個問題的原因是新建項目時框架我選的是.Net4.0,然而.Net4.0在安裝時包含兩種,好像默認的是.Net4.0 Client Profile,在這下面添加時就會報上面的錯誤。

    解決方法是:在解決方案資源管理器中的工程項上點擊右鍵,選擇屬性,把FrameWork的框架版本改為.Net4即可。

(2)網址:http://zhidao.baidu.com/link?url=YOvAeHLkOgmE-XKa7YnVFs4qE4a--5bsCKxweIDuYgHwU-TygCGKm1hePlWTDrQ4X9eIjOZfLaqVgWsp2eUgF_

 

 C# 錯誤!!容量超出了最大容量。參數名: capacity 

解決辦法:第二個參數 “提示信息” 長度太長了,2個字應該就可以, 該成 "提示"
3、最后效果圖
第一次使用irisskin2美化C#窗體
在添加選項卡時,工具箱里只有常規一個選項卡,右擊常規->添加選項卡,然后輸入選項卡的名字,最后在右擊常規選項卡,勾住全部顯示這個選項,剛剛添加的選項卡就能看見了。

第一次使用irisskin2美化C#窗體
最后效果圖
第一次使用irisskin2美化C#窗體

第一次使用irisskin2美化C#窗體

彈框這出現的錯誤上邊有,改成提示兩個字就好了。
第一次使用irisskin2美化C#窗體
如果想把這個樣式應用到所有窗體中,就在屬性中把SkinAllForm設置成true,不想就是False。還有把SkinFile選擇樣式文件的路徑,然后才能顯示樣式。

第一次使用irisskin2美化C#窗體
skinEngine1.SkinFile = Application.StartupPath + @"\DiamondBlue.ssk";
 skinEngine1.SkinFile = " DiamondBlue.ssk "; //樣式文件的文件名
在窗體加載的方法中寫入這兩行代碼。


出處:http://blog.sina.com.cn/s/blog_e75e0d9d0102wxk6.html
===================================================================================================

IrisSkin2.dll是一款很不錯的免費皮膚控件,利用它可以輕松的實現WinForm窗體換膚然而IrisSkin2.dll只能在.NET Faremwork 4.0以及之前的版本使用,所以要在VS2010中使用它需要將自己的項目框架設置為.NET Framework 4.0,還有另一種方法就是使用IrisSkin4.dll,他的使用方法和IrisSkin2.dll基本是完全一樣的

一、首先在網上下載 IrisSkin4.dll (已與皮膚一起打包),將IrisSkin4.dll與Skins(皮膚)一起拷貝到項目的\bin\Debug文件夾下

二、在程序的資源管理器中的【引用】上單擊右鍵,選擇【添加引用】,找到剛才復制過來的IrisSkin4.dll文件,點擊【確定】

三、【工具】——>【選擇工具箱項——>【.NET Framework組件】——>【瀏覽】——>找到IrisSkin4.dll——>點擊【確定】,SkinEngine控件加入到工具箱

四、把控件添加進程序的主窗體,並在主窗體的構造函數中編輯如下一行代碼選擇皮膚,即可完成渲染

skinEngine1.SkinFile = System.Environment.CurrentDirectory + "\\Skins\\所選皮膚名(后綴為.ssk)";  //選擇皮膚文件

使用IrisSkin4.dll換膚的效果是有限的,有時它的渲染效果反而令我們抓狂(比如我用了一個SportsBlue皮膚,然后發現雖然這個皮膚的樣式我很喜歡,但在它的渲染下窗體的button實在是很low),這時我們想要自定義自己不滿意的控件而不需要皮膚對這些控件進行渲染,只需加上如下一行代碼:

skinEngine1.DisableTag = 9999;      //設置不需要被渲染的控件Tag值為9999

然后把不需要被渲染的控件Tag值屬性設置為9999,即可顯示該控件的自定義樣式

 

出處:http://www.tuicool.com/articles/Q3euaa

===================================================================================================

    最近做一些C#數據庫開發項目,基本窗體程序做好之后,發現界面較為丑陋,然而,自己又不善於美工,所以想到了求助於第三方幫忙。網上有較多的是利用IrisSkin2.dll文件來開發,然后,本人按照一些解決方案做下來,發現該鏈接庫並不會適合VS2010平台開發的Winform,故此,尋找替代方案,然后,發現了IrisSkin4.dll比較合適的完成了美化工作。綜合別人的做法,本人做法如下:

下載地址:http://www.7edown.com/soft/down/soft_39263.html

    1. 將IrisSkin4.dll動態文件導入當前項目引用中。具體操作為:解決方案資源管理器->當前項目->引用->右鍵->添加引用,找到IrisSkin4.dll文件,然后加入即可。建議,最好把IrisSkin4.dll文件放在當前項目\bin\Debug文件中。

   2. 然后把IrisSkin4.dll文件添加到VS2010的工具箱:視圖->工具箱->右鍵->選擇項->瀏覽找到IrisSkin4.dll文件(文件最好放在當前項目\bin\Debug文件中)按確定,控件就添加到工具箱中了,然后把工具箱中新添加的 SkinEngine控件拖到當前項目中。

  3. 把皮膚目錄中的.ssk文件復制到當前項目\bin\Debug文件中,ssk文件可以根據需求自己選擇.

  4. 再在項目中調用.ssk皮膚文件。例:

   在自己的主程序的MainForm窗口對應的 MainForm.Designer.cs中,先聲明private Sunisoft.IrisSkin.SkinEngine skinEngine1;然后是在InitializeComponent()  (Windows 窗體設計器生成的代碼)定義                                 

?
this .skinEngine1 = new Sunisoft.IrisSkin.SkinEngine(((System.ComponentModel.Component)( this )));  

最后,在MainForm.cs文件中構造函數定義:

?
this .skinEngine1.SkinFile = Application.StartupPath + "//DiamondBlue.ssk" ;

同時,為了保證對其他的窗體也產生相應的效果,則在MainForm對應的構造函數中,加入如下代碼:

?
1
    Sunisoft.IrisSkin.SkinEngine se = null ;
    se =
new Sunisoft.IrisSkin.SkinEngine();  
   se.SkinAllForm =
true ;

  

 

出處:http://www.cnblogs.com/zhaoxiaoming/archive/2012/07/25/Form_Beautify.html

===================================================================================================

外,由於皮膚使用了很多的ssk文件以及dll文件,有時不想要這么多的文件,只是想生成一個exe的應用程序,使用可以把ssk和dll文件整合進exe文件中,具體的可以參考我的另外一篇文章:皮膚和DLL和圖片等項目文件完全整合到exe中


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM