定制C# combobox的下拉框

2016-12-28 10:11:12来源:作者:Dawei XU人点击

第七城市

今天做了个小东西,需要定制combobox的下拉框,打开下拉框时如下图。

选择一个后,如下图。

实现的方法是需要把combobox的DrawoMode设置成OwnerDrawVariable,然后处理DrawItem事件,详见 ComboBox.DrawItem Event (System.Windows.Forms) 代码如下:

privatevoidcb_Risk_DrawItem(objectsender, DrawItemEventArgs e){ if (e.Index < 0) return; switch (e.Index) { case 0: e.Graphics.FillRectangle(Brushes.Red, e.Bounds); break; case 1: e.Graphics.FillRectangle(Brushes.Yellow, e.Bounds); break; case 2: e.Graphics.FillRectangle(Brushes.Blue, e.Bounds); break; default: break; } e.Graphics.DrawString(cb_Risk.Items[e.Index].ToString(), cb_Risk.Font, Brushes.Black, (RectangleF)e.Bounds);}

对了,我这里的代码都是用 CopySourceAsHtml 这个VS的addin粘进来的,对于VS2010,这篇文章 CopyAsHtml in Visual Studio 2010 - AppliSec 有一个workaround。

第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台