大家好,我已经仔细查看了,但似乎找不到我要的东西。我想改变ComboBoc控件的选择颜色(最好不用子类化控件)。我尝试了以下代码,但是这个事件甚至没有触发:
private void comboBoxDb_DrawItem(object sender, DrawItemEventArgs e)
{
ComboBox combo = sender as ComboBox;
e.Graphics.FillRectangle(new SolidBrush(combo.BackColor), e.Bounds);
string strSelectionColor = @"#99D4FC";
Color selectionColor =
System.Drawing.ColorTranslator.FromHtml(strSelectionColor);
e.Graphics.DrawString(combo.Items[e.Index].ToString(),
e.Font,
new SolidBrush(selectionColor),
new Point(e.Bounds.X, e.Bounds.Y));
}
但是这个事件甚至没有触发。我在这里做错了什么?
谢谢您的时间。
编辑。虽然非触发是由于没有正确设置ComboBox的DrawMode属性所致,正如@Teppic指出的那样,但这仍然不能满足我的要求。我想设置选择颜色,我上面所做的(我已经在这里屏蔽了名称)确实可以做到。
而我想改变控件中的蓝色高亮显示,如下所示。
请输入图片描述
DrawItemEventArg
。我不熟悉其他使用此事件参数的事件。虽然事件已正确连接,但似乎在选择新索引时并未触发。感谢您的时间。 - MoonKnight