用颜色填充下拉框(C#)
代码如下:
1
private void CtrGifType_Load(object sender, EventArgs e)
2
{
3
//透明色初始化设置
4
cmbTransparence.DrawMode = DrawMode.OwnerDrawFixed;
5
cmbTransparence.DropDownStyle = ComboBoxStyle.DropDownList;
6
cmbTransparence.DrawItem += new DrawItemEventHandler(cmbTransparence_DrawItem);
7
cmbTransparence.ItemHeight = 18;
8
cmbTransparence.BeginUpdate();
9
cmbTransparence.Items.Clear();
10
//循环遍历添加每一项
11
foreach (PropertyInfo proinfo in typeof(Color).GetProperties(BindingFlags.Public | BindingFlags.Static))
12
{
13
cmbTransparence.Items.Add(proinfo.Name);
14
}
15
cmbTransparence.EndUpdate();
16
}
17![](/Images/OutliningIndicators/None.gif)
18
private void cmbTransparence_DrawItem(object sender, DrawItemEventArgs e)
19
{
20
if (e.Index < 0) return;
21![](/Images/OutliningIndicators/InBlock.gif)
22
e.DrawBackground();
23![](/Images/OutliningIndicators/InBlock.gif)
24
//得到绘制的矩形框
25
Rectangle rect = new Rectangle(4, e.Bounds.Top + 2, e.Bounds.Height + 10, e.Bounds.Height - 4);
26![](/Images/OutliningIndicators/InBlock.gif)
27
string colorName = cmbTransparence.Items[e.Index].ToString();
28![](/Images/OutliningIndicators/InBlock.gif)
29
//定义单色的画笔
30
SolidBrush b = new SolidBrush(Color.FromName(colorName));
31
//内部颜色填充
32
e.Graphics.FillRectangle(b, rect);
33
e.Graphics.DrawRectangle(Pens.Black, rect);
34![](/Images/OutliningIndicators/InBlock.gif)
35
//设置显示的字体
36
Font pFont = new Font(FontFamily.GenericSansSerif, 10, FontStyle.Regular);
37![](/Images/OutliningIndicators/InBlock.gif)
38
//在指定的矩形内绘制文本
39
e.Graphics.DrawString(colorName, pFont, Brushes.Black, new Rectangle(e.Bounds.X + rect.Width + 4, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height));
40
//在指定的边界范围内绘制聚集框
41
e.DrawFocusRectangle();
42
}
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](/Images/OutliningIndicators/InBlock.gif)
4
![](/Images/OutliningIndicators/InBlock.gif)
5
![](/Images/OutliningIndicators/InBlock.gif)
6
![](/Images/OutliningIndicators/InBlock.gif)
7
![](/Images/OutliningIndicators/InBlock.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/InBlock.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
17
![](/Images/OutliningIndicators/None.gif)
18
![](/Images/OutliningIndicators/None.gif)
19
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/InBlock.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/InBlock.gif)
34
![](/Images/OutliningIndicators/InBlock.gif)
35
![](/Images/OutliningIndicators/InBlock.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/InBlock.gif)
38
![](/Images/OutliningIndicators/InBlock.gif)
39
![](/Images/OutliningIndicators/InBlock.gif)
40
![](/Images/OutliningIndicators/InBlock.gif)
41
![](/Images/OutliningIndicators/InBlock.gif)
42
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)