C# WinForm控制元件美化擴充套件系列之ImageComboBox_C# 視角_CS程式設計師之窗
阿新 • • 發佈:2019-01-01
(1)美化下拉按鈕和邊框,前面的文章已經實現。
(2)當ComboBox沒有控制元件選擇項和沒有焦點時顯示提示使用者操作資訊,前面的也文章已經實現。
(3)在下拉列表框的項中顯示圖示,項可以縮排。
(4)在ComboBox控制元件中也顯示圖示。
來看看最終需要實現的效果:
圖1 ImageComboBox DropDownList效果
圖2 ImageComboBox DropDown效果
這篇文章中我們重點需要實現的是(3)、(4)兩項功能,下面我們來介紹具體實現的方法。
第一步,實現ImageComboBoxItem類。
要實現顯示圖示,當然要給每個項新增與圖示相關的資訊了,ImageComboBoxItem 類應該包括以下內容:文字(Text)、縮排的級別(Level)、圖示的索引(ImageIndex、ImageKey),使用者資料(Tag)。ImageComboBoxItem類實現了ISerializable介面,實現自定義序列化。ImageComboBoxItem類的類檢視如下:
圖3 ImageComboxItem類檢視
ImageComboBoxItem類的程式碼如下:
[Serializable]
[DefaultProperty("Text")]
[TypeConverter(
typeof(ExpandableObjectConverter))]
public
IDisposable, ISerializable
{
Fields
Constructors
Properties