Для текущего проекта мне понадобилось выпадающее меню с названиями цветов (строками) с небольшим квадратом цвета рядом с ним (изображением). Итак, я смог разработать собственный ComboBox для этого. Однако у меня есть одна проблема ... когда я выбираю элемент из списка, пример цвета не отображается, отображается только имя цвета. (См. Примеры ниже)
Расширенное меню:
После выбора элемента:
Чтобы начать рисовать цвета рядом со строками, я использовал:
// Draws the items into the ColorSelector object
protected override void OnDrawItem(DrawItemEventArgs e)
{
e.DrawBackground();
e.DrawFocusRectangle();
DropDownItem item = (DropDownItem)Items[e.Index];
// Draw the colored 16 x 16 square
e.Graphics.DrawImage(item.Image, e.Bounds.Left, e.Bounds.Top);
// Draw the value (in this case, the color name)
e.Graphics.DrawString(item.Value, e.Font, new
SolidBrush(e.ForeColor), e.Bounds.Left + item.Image.Width, e.Bounds.Top + 2);
base.OnDrawItem(e);
}
Где DropDownItem содержал изображение и строку для рисования. Итак ... кто-нибудь знает, что мне нужно переопределить или что мне нужно сделать, чтобы ComboBox рисовал изображение и строку, как это уже происходит, когда список раскрывается, когда элемент выбран?
Большое спасибо; Ура!