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