国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

帶圖標與自定義顏色的ListBox

帶圖標與自定義顏色的ListBox

更新時間:2021-11-16 文章作者:未知 信息來源:網絡 閱讀次數:

自定義控件的實現

--------帶圖標和自定義顏色的ListBox

在一個點對點文件傳輸的項目中,我需要顯示文件傳輸的實時信息:傳輸的文件列表和當前傳輸的文件,當時我想到了用ListBox,但是但我用了ListBox后,我發現它不能改變控件中文本想的顏色,于是我就想擴展一下ListBox控件------ListBoxEx。

我的目標是給空間加上圖標,還要能時時改變控件文本顏色。于是從ListBox派生類

public class ListBoxEx : ListBox {…}

為了操作方便我為ListBoxEx的每一項設計專門的類ListBoxExItem

public class ListBoxExItem {…}

為了保持我這個控件與WinForm的標準控件的操作借口一致,我又重新設計了兩個集合類



public class ListBoxExItemCollection : IList, ICollection, IEnumerator {}//這個類相對于標準ListBox中的ObjectCollection,這個類作為ListBoxEx中的Items屬性的類型



public class SelectedListBoxExItemCollection : : IList, ICollection, IEnumerator{}//這個類相對于標準ListBox中的SelectedObjectCollection,這個類作為ListBoxEx中的SelectedItems屬性的類型



下面看兩個集合類的實現:

ListBoxExItemCollection的實現:為了做到對集合(Items)的操作能夠及時反映到ListBoxEx的控件中所以,此類只是對ListBox中Items(ObjectCollection類型)作了一層包裝,就是把ListBox中Items屬性的所有方法的只要是object類型的參數都轉換成ListBoxExItem,比如:

public void Remove(ListBoxExItem item)

{

this._Items.Remove(item); //_Items為ObjectCollection類型

}

public void Insert(int index, ListBoxExItem item)

{

this._Items.Insert(index, item);

}

public int Add(ListBoxExItem item)

{

return this._Items.Add(item);

}

由上可知,ListBoxExItemCollection中有一個構造函數來傳遞ListBox中的Items對象

private ObjectCollection _Items;

public ListBoxExItemCollection(ObjectCollection baseItems)

{

this._Items = baseItems;

}

而SelectedListBoxExItemCollection類的實現也用同樣的方法,只不過是對SelectedObjectCollection包裝罷了。



集合實現后,再來看ListBoxExItem的實現:

為了使它支持圖標和多種顏色添加如下成員

private int _ImageIndex;

public int ImageIndex

{

get { return this._ImageIndex; }

set { this._ImageIndex = value;}

}

private Color _ForeColor;

public Color ForeColor

{

get{ return this._ForeColor;}

set

{

this._ForeColor = value;

this.Parent.Invalidate();

}

}

當然還有

private string _Text;

public string Text

{

get { return this._Text; }

set { this._Text = value; }

}

為了控件能正確顯示此項的文本,還必須重寫ToString()方法

public override string ToString()

{

return this._Text;

}



再看ListBoxEx的實現:

為了使控件能夠自我繪制,所以DrawMode = DrawMode.OwnerDrawFixed;

為了覆蓋基類的Items等相關屬性添加



private ListBoxExItemCollection _Items; //在構造函數中創建

同時還需要重寫屬性Items

new public ListBoxExItemCollection Items

{

get

{

return this._Items;

}

}

new public ListBoxExItem SelectedItem //強制轉換為ListBoxExItem

{

get{ return base.SelectedItem as ListBoxExItem;}

set{ base.SelectedItem = value;}

}

new public SelectedListBoxExItemCollection SelectedItems //重新包裝SelectedItems

{

get

{

return new SelectedListBoxExItemCollection(base.SelectedItems);

}

}

為了支持圖標,添加一個圖像列表imagelist

private ImageList imageList;

public ImageList ImageList

{

get { return this.imageList; }

set

{

this.imageList = value;

this.Invalidate();//圖像列表改變后馬上更新控件

}

}

而此控件的核心卻在一個方法OnDrawItem,這個方法每當控件的項需要重繪時就被調用

protected override void OnDrawItem(System.Windows.Forms.DrawItemEventArgs pe)

{

pe.DrawBackground(); //畫背景

pe.DrawFocusRectangle(); //畫邊框

Rectangle bounds = pe.Bounds;

// Check whether the index is valid

if(pe.Index >= 0 && pe.Index < base.Items.Count)

{

ListBoxExItem item = this.Items[pe.Index]; //取得需要繪制項的引用

int iOffset = 0;

// If the image list is present and the image index is set, draw the image

if(this.imageList != null)

{

if (item.ImageIndex > -1 && item.ImageIndex < this.imageList.Images.Count)

{

this.imageList.Draw(pe.Graphics, bounds.Left, bounds.Top, bounds.Height, bounds.Height, item.ImageIndex); //繪制圖標

}

iOffset += bounds.Height;//this.imageList.ImageSize.Width;

}

// Draw item text

pe.Graphics.DrawString(item.Text, pe.Font, new SolidBrush(item.ForeColor),

bounds.Left + iOffset, bounds.Top); //根據項的顏色繪制文本

}

base.OnDrawItem(pe);

}

}



到此為止,ListBoxEx以完整的實現,并且支持可視化設計。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        kk眼镜猥琐国模调教系列一区二区| 国产欧美日本一区视频| 日本高清不卡视频| 《视频一区视频二区| av在线一区二区三区| 久久精品视频免费| 国产999精品久久久久久绿帽| 精品欧美一区二区久久| 热久久免费视频| 精品国产三级a在线观看| 国产一区二区精品久久| 久久婷婷国产综合精品青草| 精品一区二区av| 中文字幕精品一区| 欧美私模裸体表演在线观看| 日本欧美一区二区三区乱码| 日韩免费成人网| 国模套图日韩精品一区二区| 亚洲欧洲成人精品av97| 欧美日韩精品是欧美日韩精品| 一二三四区精品视频| 欧美一区二区三区的| 国产在线日韩欧美| 亚洲欧美综合在线精品| 在线视频欧美精品| 麻豆中文一区二区| 中文字幕精品一区二区精品绿巨人| 欧洲视频一区二区| 国产综合一区二区| 亚洲免费看黄网站| 日韩一级片网址| 成人动漫一区二区| 免费成人在线观看视频| 国产精品的网站| 欧美精品视频www在线观看| 激情综合亚洲精品| 亚洲午夜在线观看视频在线| 久久青草欧美一区二区三区| 91在线免费播放| 国产一区在线视频| 亚洲一区视频在线观看视频| 国产精品色呦呦| 欧美大白屁股肥臀xxxxxx| 99久久久久久99| 国产毛片精品一区| 久久精品国产亚洲一区二区三区 | 图片区小说区区亚洲影院| 精品日韩欧美在线| 欧美一区二区在线免费观看| 99re免费视频精品全部| 免费看欧美女人艹b| 一区二区欧美精品| 亚洲欧美成aⅴ人在线观看| 精品日韩一区二区| 欧美蜜桃一区二区三区| 色哟哟精品一区| av资源网一区| 福利一区在线观看| 成人自拍视频在线| 国产成人免费高清| 成人中文字幕在线| 成人免费视频app| 成人免费毛片嘿嘿连载视频| 久久精品久久精品| 日本欧美久久久久免费播放网| 午夜久久电影网| 亚洲成在人线在线播放| 日韩国产欧美三级| 韩国v欧美v亚洲v日本v| 九九**精品视频免费播放| 久久99久久99| 成a人片亚洲日本久久| 色综合久久天天| 欧美吞精做爰啪啪高潮| 欧美精品一二三区| 久久不见久久见免费视频1| 久久免费午夜影院| 中文字幕精品一区二区精品绿巨人| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 波多野结衣视频一区| 99久免费精品视频在线观看| 色综合天天综合网天天狠天天| 91免费看`日韩一区二区| a亚洲天堂av| 欧美一级专区免费大片| 精品理论电影在线观看| 国产精品国产成人国产三级| 亚洲午夜在线视频| 国产精品99久久不卡二区| 97精品国产露脸对白| 3751色影院一区二区三区| 亚洲欧美综合色| 依依成人综合视频| 亚洲国产裸拍裸体视频在线观看乱了| 国产精品人成在线观看免费| 亚洲狼人国产精品| 美国精品在线观看| 99久久精品国产一区| 欧美日产在线观看| 国产三级欧美三级日产三级99 | 一区二区三区四区在线| 日本aⅴ免费视频一区二区三区| 国产成人免费网站| 欧美一区二区三区四区在线观看| 欧美韩日一区二区三区| 日韩av不卡一区二区| 91在线丨porny丨国产| 精品久久久久久久人人人人传媒| 亚洲精品伦理在线| 国产成人亚洲综合a∨猫咪| 欧美日韩在线三级| 最新中文字幕一区二区三区| 久久精品国产在热久久| 欧美性视频一区二区三区| 久久久99久久精品欧美| 日本亚洲视频在线| 91精彩视频在线| 中文av一区特黄| 国产在线精品视频| 欧美一区二区三区色| 一区二区三区四区蜜桃| 99在线精品免费| 欧美激情一区二区三区在线| 久久国产尿小便嘘嘘| 91精品婷婷国产综合久久性色 | 欧美一级黄色大片| 日韩中文字幕一区二区三区| 一本大道综合伊人精品热热| 国产精品无遮挡| 丁香婷婷综合色啪| 国产日韩v精品一区二区| 国产综合色视频| 久久新电视剧免费观看| 国产一区二区三区不卡在线观看| 日韩一区二区三区免费看| 日产国产欧美视频一区精品| 欧美精品亚洲一区二区在线播放| 亚洲成av人片在线| 欧美一区二区福利在线| 蜜桃一区二区三区在线观看| 日韩欧美成人激情| 国产一区视频导航| 国产清纯在线一区二区www| 国产成人综合在线观看| 中文无字幕一区二区三区| 成人成人成人在线视频| 亚洲欧美日韩精品久久久久| 欧洲中文字幕精品| 免费成人美女在线观看.| xnxx国产精品| av中文字幕不卡| 亚洲h在线观看| 日韩欧美国产一区二区三区| 寂寞少妇一区二区三区| 中文字幕不卡在线播放| 日本福利一区二区| 久久精品国产免费看久久精品| 久久精品免费在线观看| 91蜜桃网址入口| 日韩激情一区二区| 国产欧美一区二区在线观看| 一本色道久久综合精品竹菊| 日本视频一区二区三区| 国产午夜精品一区二区| 色综合av在线| 久久99精品久久久久婷婷| 国产欧美精品一区二区色综合| 91免费观看在线| 久久se精品一区二区| 国产精品福利影院| 7777精品伊人久久久大香线蕉完整版| 国产在线一区二区综合免费视频| 国产精品免费人成网站| 欧美伦理视频网站| k8久久久一区二区三区 | 视频一区在线播放| 久久精品一区八戒影视| 欧美日韩在线亚洲一区蜜芽| 国产成人综合亚洲网站| 香蕉久久一区二区不卡无毒影院| 久久久久久影视| 欧美日韩精品免费| 成人91在线观看| 久久99精品国产麻豆不卡| 亚洲精品水蜜桃| 国产欧美综合在线观看第十页| 91麻豆精品国产91| 91福利视频在线| 国产精品一区二区三区四区 | 国产成人精品一区二| 日韩精品视频网| 亚洲国产欧美日韩另类综合| 国产精品色哟哟| 久久久久国产精品麻豆| 欧美一区二区视频网站| 欧美专区亚洲专区| 在线精品视频小说1| 91亚洲精华国产精华精华液| 成人午夜视频在线观看| 国产在线视频精品一区|