摘要:本文旨在研究第三方控件SideBar控件的一些使用方法,在.Net平臺(tái)下,創(chuàng)建一個(gè)基于C#的Windows聊天窗體,使用SideBar控件實(shí)現(xiàn)了QQ好友分組、好友移動(dòng)、設(shè)置QQ面板中頭像顯示方式等功能。SideBar控件,是一個(gè)仿QQ的頭像下拉列表控件,用它來(lái)制作類似QQ的聊天窗體時(shí),更方便快捷。
關(guān)鍵詞:SideBar控件;MyQQ應(yīng)用;第三方控件
中圖分類號(hào):N3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007—9599 (2012) 14—0000—02
一、引言
QQ,源于國(guó)際的一個(gè)聊天工具ICQ(Iseekyou:我尋找你),1999年2月由深圳市騰訊計(jì)算機(jī)系統(tǒng)有限公司推出——基于Internet的一款中國(guó)版即時(shí)通信軟件。目前騰訊QQ用戶已經(jīng)超過(guò)一億,是目前使用最廣泛的聊天軟件之一。
本文主要側(cè)重于QQ聊天系統(tǒng)中顯示好友列表的主聊天面板的設(shè)計(jì),傳統(tǒng)的做法是利用ListView、TreeView、ListBox等預(yù)定義控件或者自定義下拉控件來(lái)實(shí)現(xiàn),現(xiàn)在比較流行的做法是使用第三方控件,SideBar就是其中的一種,該方法實(shí)現(xiàn)起來(lái)很方便,降低了重寫(xiě)控件所帶來(lái)的工作量問(wèn)題,也解決了傳統(tǒng)方法中好友頭像大小難以控制,頭像閃爍困難等問(wèn)題。但是如何將其應(yīng)用到QQ主聊天面板的設(shè)計(jì)中去,目前比較系統(tǒng)全面的文章還很缺乏,本文將比較全面地介紹SideBar控件的簡(jiǎn)介、程序中如何添加對(duì)SideBar控件的引用以及SideBar控件如何應(yīng)用在一個(gè)具體的實(shí)例MyQQ中。
二、SideBar控件簡(jiǎn)介
SideBar是一個(gè)能夠以分組形式顯示項(xiàng)目列表的第三方控件,能夠?qū)崿F(xiàn)類似QQ的好友分組功能。SideBar控件中可以包含多個(gè)組(SbGroup),每個(gè)組又可以包含若干SideBar項(xiàng)(SbItem)。
SideBar控件的常用屬性有:View屬性,用來(lái)設(shè)置列表項(xiàng)的顯示方式,例如大圖標(biāo)顯示或者小圖標(biāo)顯示;ImageList屬性,通常為一個(gè)SideBar控件指定一個(gè)ImageList圖片容器控件,列表項(xiàng)中顯示的圖片通過(guò)SideBar項(xiàng)(SbItem)的ImageIndex屬性關(guān)聯(lián)到ImageList圖片容器控件中的某一張圖片。
三、程序中添加對(duì)SideBar的引用
以Visual Studio平臺(tái)來(lái)說(shuō)明,后面的實(shí)例也是在該平臺(tái)下完成的。SideBar是一第三方控件,所以程序中首先需要在Visual Studio(后面簡(jiǎn)稱VS)的工具箱中添加該控件,具體的方法步驟如下:
1.右擊VS的工具箱,單擊【選擇項(xiàng)】;
2.在打開(kāi)的“選擇工具箱”對(duì)話框中,如圖1所示,單擊【瀏覽】按鈕,找到并打開(kāi)SideBar.dll文件,返回“選擇工具箱”對(duì)話框;
3.單擊【確定】按鈕,SideBar控件將會(huì)被添加到VS的工具箱上,可以像使用其它控件一樣,用鼠標(biāo)拖曳的方法將SideBar控件添加到窗體上。
SideBar控件被添加到窗體上,同時(shí)窗體所在的項(xiàng)目會(huì)自動(dòng)添加對(duì)SideBar.dll文件的引用,如圖2所示,以保證在程序中能正常使用SideBar控件。另外,要使用SideBar的項(xiàng)SbItem,程序中還需導(dǎo)入命名空間using Aptech.UI。
四、SideBar控件在MyQQ聊天窗體中的應(yīng)用
1.新建一個(gè)基于C#的Windows應(yīng)用程序項(xiàng)目,名稱為MyQQ。窗體上添加一個(gè)SideBar控件,一個(gè)ImageList控件,名稱為ilFaces,編輯其Images屬性,添加若干頭像圖片,這里注意最好每張頭像圖片的名稱與圖片在ImageList容器控件中的索引值一致,例如0.bmp,1.bmp,2.bmp ———————。將SideBar的ImageList屬性值設(shè)置為ilFaces。
2.自定義一個(gè)顯示好友的方法ShowFriendList(),該方法讀取后臺(tái)數(shù)據(jù)庫(kù)的friends表,將每位好友作為SideBar好友組的一項(xiàng),保存好友的昵稱,頭像ID以及好友的QQ號(hào)。具體代碼如下:
五、結(jié)束語(yǔ)
SideBar作為一個(gè)第三方控件,使用起來(lái)非常方便,語(yǔ)法也較簡(jiǎn)單。特別在制作類似QQ聊天窗體的時(shí)候,可以用它來(lái)實(shí)現(xiàn)好友的分組。另外SideBar控件提供很多屬性和方法,例如SeletedItem屬性、 View屬性、Invalidate()方法等,在控制好友頭像顯示、頭像閃爍及遍歷好友時(shí)比較實(shí)用。
參考文獻(xiàn):
[1]劉輝著.基于C#的WinForm程序參數(shù)傳遞和同步顯示的實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2010
[2]微軟公司著.Visual C# 2005程序設(shè)計(jì)語(yǔ)言[M].北京:高等教育出版社,2008,139—145
[3]錢哨著.C# WinForm實(shí)踐開(kāi)發(fā)教程[M].中國(guó)水利水電出版社,2010,141—175
[4]匿名.SideBar控件應(yīng)用與MyQQ的相關(guān)設(shè)計(jì)[OL].百度文庫(kù),2008