亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

在.net中美化程序界面的方法

2023-05-17 11:41:59
字體:
來源:轉載
供稿:網友

本文講解了在.net中美化界面程序的方法:
 

 diyblPic 

diyblPic

diyblPic

diyblPic

diyblPic

diyblPic

diyblPic









        看到上面的界面心動了嗎?告訴大家,我用的都是VS2005的標準控件,實現換皮膚的功能也僅僅是數行代碼而已,也就是說以前熟悉的控件還照常使用。
        先介紹一下這套控件吧,這套控件僅有一個dll(IrisSkin2.dll)文件和一個skin文件夾,skin文件夾下共有22個子文件夾,每個子文件夾其實就是一套界面風ge,也就是說我們可以使用22種不同風ge。
        實現給界面換皮膚有兩種做法:(一)拷貝法,即使將界面資源夾下所有的文件拷貝到.exe文件所在的位置,然后在程序種通過skinEngine1.SkinFile=fileName(fileName是皮膚文件.ssk文件的位置)來設定界面皮膚,這種做法通常是我們需要在Debug文件夾和Release文件各保存一套皮膚文件,發布程序的時候也需要附帶這些文件。(二)嵌入資源法,本文就是采用這種辦法實現的,這樣做的好處是發布程序時(不管是Debug版本或Release版本)時vs自動將皮膚文件編譯進exe文件中,減少程序發布時文件的個數,而且也不用管程序與皮膚文件的相對位置。
        首先打開VS工具箱,添加皮膚控件組件,如下圖:

diyblPic

        然后在出現的“選擇工具箱項”中點擊“瀏覽”按鈕,然后找到IrisSkin2.dll文件,然后“確定”,關閉對話窗口之后,皮膚控件組件就會出現在你的工具箱上了(具體出現在哪個分組跟你添加時添加哪個組有關),如下圖:
 

diyblPic

diyblPic


(我不小心加到打印分組去了,大家不要罵我:P)
        好了,現在可以編寫程序測試了,做一個簡單的窗體吧,界面上的控件如上圖所示,然后將皮膚組件拖拽到界面上,之后需要把程序所需要的皮膚資源文件添加進來,這里我是采用添加資源的辦法。
 
        步驟如下:
(一)在WinForm工程上右鍵單擊“屬性”,在出現的界面中點“資源”選項卡,把所需的皮膚資源文件添加進來(通過“添加現有文件”ming令添加皮膚文件),如下圖:

diyblPic

        注意如果該皮膚文件夾下除了*.ssk文件之外,還包含有其它圖片文件,建議將它們也作為資源添加到項目中。添加完成之后,我們就可以在代碼中通過Properties.Resources.文件名來獲取這些文件的內容了,通過這個方法返回的是文件內容的二進制數據(byte[]),而skinEngine1.SkinStream需要的是一個Stream對象,通過msdn我們可以以這個二進制數據構建一個Stream對象(new MemoryStream(byte[] bytes)),然后賦值給皮膚組件的SkinStream屬性,如果需要換皮膚,重新構建一個皮膚資源文件的Stream對象,然后重新賦值就行了。
 
         界面控件布局代碼很簡單,就不粘貼了,主要把后臺代碼放在這里吧(其實也很簡單,不過需要注意,因為使用了MemoryStream對象,就需要在程序引用程序集部分添加對IO方面的引用:using System.IO;) 
  代碼如下:
 

01 using System; 
02 using System.Collections.Generic; 
03 using System.ComponentModel; 
04 using System.Data; 
05 using System.Drawing; 
06 using System.Text; 
07 using System.IO; 
08 using System.Windows.Forms; 
09    
10 namespace SkinForm 
11
12         /// <summary> 
13         /// 說明:這是一個簡單的WinForm應用程序,用來展示如何使用換皮膚控件來實現我們需要的漂亮界面,代碼很簡單。 
14         /// 作者:周公 
15         /// 時間:2008-1-8 
16         /// 首發地址:http://blog.csdn.net/zhoufoxcn 
17         /// </summary> 
18         public partial class MainForm : Form 
19         
20                 private MemoryStream memoryStream; 
21                 public MainForm() 
22                 
23                         InitializeComponent(); 
24                         SetSkinFile(Properties.Resources.MacOS); 
25                 
26    
27                 private void btnOK_Click(object sender, EventArgs e) 
28                 
29                         if (rbMacOS.Checked) 
30                         
31                                 SetSkinFile(Properties.Resources.MacOS); 
32                         
33                         else if (rbMP10.Checked) 
34                         
35                                 SetSkinFile(Properties.Resources.MP101); 
36                         
37                         else if (rbMSN.Checked) 
38                         
39                                 SetSkinFile(Properties.Resources.MSN1); 
40                         
41                         else if (rbPage.Checked) 
42                         
43                                 SetSkinFile(Properties.Resources.Page); 
44                         
45                         else if (rbRealOne.Checked) 
46                         
47                                 SetSkinFile(Properties.Resources.RealOne1); 
48                         
49                         else if (rbVista1.Checked) 
50                         
51                                 SetSkinFile(Properties.Resources.vista1_green1); 
52                         
53                         else if (rbVista2.Checked) 
54                         
55                                 SetSkinFile(Properties.Resources.Vista2_color11); 
56                         
57                         else 
58                         
59                                 SetSkinFile(Properties.Resources.XPBlue1); 
60                         
61                 
62    
63                 private void SetSkinFile(byte[] bytes) 
64                 
65                         memoryStream=new MemoryStream(bytes); 
66                         //設置皮膚可以通過兩種方式,一種是指定皮膚文件的位置, 
67                         //如skinEngine1.SkinFile=fileName(fileName是皮膚文件.ssk文件的位置) 
68                         //一種是指定皮膚文件的文件流,如本程序所示 
69                         skinEngine1.SkinStream = memoryStream; 
70                            
71                 
72         
73 }


程序界面效果如上面所示。
 
本文提到的皮膚組件可以到:http://download.csdn.net/user/zhoufoxcn/下載。
 
        20081月10日答廣大朋友的疑問:
(一)有的朋友懷疑在MDI窗口中是否可以很好運用,我覺得是可以的,可以在MDI子窗口中設置它的皮膚文件和父窗口一致,這樣就做到了整個系統中所有界面皮膚風ge一致了。
(二)原來我自己曾懷疑在系統對話框中不能很好運行,剛剛證實了一下,是可以的,無需再做任何特殊設置。運行情況如下:
 

diyblPic
這是在默認皮膚為MacOS的情況下彈出的顏色對話框,也是MacOS風ge的,如下:
diyblPic

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
九色精品美女在线| 亚洲娇小xxxx欧美娇小| 91久久在线播放| 欧美日韩中国免费专区在线看| 精品亚洲一区二区| 91精品久久久久久久久久久久久| 日本久久久久久久| 久久香蕉国产线看观看网| 久久久久久久久国产精品| 欧美一级片在线播放| 永久免费毛片在线播放不卡| 91av网站在线播放| 日韩精品在线观看一区二区| 国产丝袜视频一区| 欧美日韩国产精品一区二区三区四区| 欧美激情xxxx| 日韩免费视频在线观看| 色偷偷偷综合中文字幕;dd| 精品成人久久av| 国产精品入口尤物| 国产日韩在线亚洲字幕中文| 亚洲电影免费观看高清| 66m—66摸成人免费视频| 亚洲欧美一区二区激情| 欧美日韩在线第一页| 亚洲女人天堂av| 欧美性xxxxhd| 欧美日韩人人澡狠狠躁视频| 中文在线不卡视频| 欧美交受高潮1| 欧美性xxxxx极品娇小| 亚洲性视频网址| 亚洲一区二区三区成人在线视频精品| 中文一区二区视频| 国产日本欧美一区| 欧美成人亚洲成人日韩成人| 亚洲欧美日韩国产中文| 久久91精品国产91久久跳| 欧美大片在线免费观看| 国内精品小视频在线观看| 色www亚洲国产张柏芝| 91精品国产精品| 亚洲视频第一页| 国产成人+综合亚洲+天堂| 国产欧美最新羞羞视频在线观看| 国产日韩欧美成人| 亚洲一区二区三区xxx视频| 日韩成人小视频| 国产精品69久久久久| 国产成人一区二| 人人澡人人澡人人看欧美| 精品国产乱码久久久久久婷婷| 国产精品自拍小视频| 国产精品爽爽爽爽爽爽在线观看| 国产精品欧美日韩久久| 国产在线视频2019最新视频| 成人在线免费观看视视频| 九九热视频这里只有精品| 日韩欧美中文字幕在线观看| 国自产精品手机在线观看视频| 91精品91久久久久久| 欧美超级乱淫片喷水| 成人激情在线播放| 精品国产老师黑色丝袜高跟鞋| 欧美大片欧美激情性色a∨久久| 亚洲性夜色噜噜噜7777| 亚洲国产另类 国产精品国产免费| 欧美亚洲激情视频| 97成人精品视频在线观看| 国外成人在线播放| 97福利一区二区| 亚洲午夜国产成人av电影男同| 国产偷国产偷亚洲清高网站| 亚洲天堂久久av| 777国产偷窥盗摄精品视频| 日韩不卡在线观看| yellow中文字幕久久| 亚洲国产成人精品女人久久久| 51ⅴ精品国产91久久久久久| 成人国产精品一区二区| 欧美激情一区二区久久久| 91中文在线视频| 欧美黑人巨大精品一区二区| 国产精品成人一区| 国产欧美日韩精品在线观看| 亚洲精品永久免费精品| 在线看日韩av| 国产亚洲人成a一在线v站| 国产欧美欧洲在线观看| 亚洲精品v欧美精品v日韩精品| 精品国产乱码久久久久久婷婷| 97在线精品国自产拍中文| 色婷婷综合久久久久中文字幕1| 中文字幕欧美日韩在线| 一区二区三区美女xx视频| 欧美国产极速在线| 亚洲**2019国产| 国产mv免费观看入口亚洲| 97视频免费在线观看| 91精品免费久久久久久久久| 成人国内精品久久久久一区| 国产在线999| 日本韩国在线不卡| 欧美人在线视频| 欧美精品一区二区三区国产精品| 国产午夜精品一区二区三区| 97在线视频精品| 久久视频免费观看| 欧美成人手机在线| 日本三级韩国三级久久| 欧美最猛性xxxxx(亚洲精品)| 久久久久久久国产精品视频| 日本不卡高字幕在线2019| 自拍偷拍免费精品| 久久成人这里只有精品| 91国内揄拍国内精品对白| 久久精品色欧美aⅴ一区二区| 国产欧美亚洲视频| 久久黄色av网站| 青草青草久热精品视频在线观看| 久久成人亚洲精品| 精品在线欧美视频| 中文.日本.精品| 91久久久亚洲精品| 亚洲偷欧美偷国内偷| 5566日本婷婷色中文字幕97| 国模精品系列视频| www.亚洲天堂| 国产一区二区黄| 亚洲综合中文字幕在线| 国产精品电影久久久久电影网| 久久久久久久久久久久av| 成人天堂噜噜噜| 中文字幕亚洲欧美日韩在线不卡| 国产精品∨欧美精品v日韩精品| 国产精品久久久久久久久久99| 亚洲精品美女久久久| 国产精品香蕉在线观看| 亚洲精品日韩久久久| 欧美国产在线视频| 欧美亚洲在线播放| 国产精品视频99| 色综合色综合久久综合频道88| 中文日韩电影网站| 国产ts一区二区| 欧美性猛交丰臀xxxxx网站| 欧美一级免费看| 国产成人综合精品| 色悠悠久久88| 91亚洲人电影| 欧美怡红院视频一区二区三区| 午夜精品久久久久久久久久久久| 欧美老肥婆性猛交视频| 日韩精品极品毛片系列视频| 久久久久国产精品www| 色婷婷**av毛片一区| 久久精品国产99国产精品澳门| 国产成人午夜视频网址| 亚洲黄一区二区| 国产成人一区二区三区| 日韩www在线| 欧美二区在线播放| 亚洲欧洲自拍偷拍| 一本色道久久综合亚洲精品小说|