ПРИМЕЧАНИЕ. Этот код взят из оптимизации пользователя. Если вы хотите, чтобы строка представляла собой не просто имя цвета, измените DropDownItem на 2 аргумента: строку и цвет,затем просто измените, как кисть устанавливает цвет, следующим образом:
public DropDownItem(string val, Color color)
{
Value = val;
Image = new Bitmap(16, 16);
using (Graphics g = Graphics.FromImage(Image))
{
using (Brush b = new SolidBrush(color))
{
g.DrawRectangle(Pens.White, 0, 0, Image.Width, Image.Height);
g.FillRectangle(b, 1, 1, Image.Width - 1, Image.Height - 1);
}
}
}
Затем необходимо изменить выпадающий элемент следующим образом:
public DropDownItem()
: this("", Color.Empty)
{}
Надеюсь, это было полезно:)