Привет. У меня проблема с маркером в ComboBox. Недавно мне пришлось сделать некоторые элементы в ComboBox серыми, и я сделал это, вручную (программно) нарисовав строки в ComboBox. В поле со списком .NET под DrawMode.NORMAL подсветка автоматически появится, когда вы нажмете стрелку, а фон подсветки будет по умолчанию синим. Проблема заключается в том, что когда мы наводим указатель мыши на элемент, передний цвет наведенного элемента меняется на белый, но когда мы рисуем элементы вручную (DrawMode.OwnerDrawVariable), это не работает. Можете ли вы помочь мне с этим ??
Вот как я серые элементы,
private void comboBox1_DrawItem(object sender, DrawItemEventArgs e)
{
e.DrawBackground();
int index = e.Index;
CombinationEntry aFunction = comboBox1.Items[index] as CombinationEntry; //CombinationEntry is a custom object to hold the gray info. Gray if not available and black if available
if (aFunction.myIsAvailable)
{
e.Graphics.DrawString(aFunction.ToString(), new Font("Arial", 10, FontStyle.Regular, GraphicsUnit.Pixel), Brushes.Black, new Point(e.Bounds.X, e.Bounds.Y));
}
else
{
e.Graphics.DrawString(aFunction.ToString(), new Font("Arial", 10, FontStyle.Regular, GraphicsUnit.Pixel), Brushes.Gray, new Point(e.Bounds.X, e.Bounds.Y));
}
}