Изменение формата объекта ComboBox

Действительно ли возможно отформатировать объект ComboBox в C#? Например, как я сделал бы объект полужирным, изменить цвет его текста, и т.д.?

10
задан Cody Gray 3 September 2017 в 10:34
поделиться

3 ответа

Это можно сделать, установив для параметра DrawMode значение OwnerDrawFixed , что позволяет вручную рисовать элементы с помощью события DrawItem . .

comboBox1.DrawMode = DrawMode.OwnerDrawFixed;
comboBox1.DrawItem += new DrawItemEventHandler(comboBox1_DrawItem);

private void comboBox1_DrawItem(object sender, DrawItemEventArgs e) {    
    Font font = comboBox1.Font;
    Brush brush = Brushes.Black;
    string text = comboBox1.Items[e.Index]; 

    if (you want bold)
        font = new Font(font, FontStyle.Bold);

    if (you want green)
        brush = Brushes.Green;

    e.Graphics.DrawString(text, font, brush, e.Bounds);
}
8
ответ дан 3 December 2019 в 18:33
поделиться

Да, но с созданием собственного ComboBox с пользовательским рисунком. См. Здесь, в MSDN

0
ответ дан 3 December 2019 в 18:33
поделиться

Нет, для этого нет встроенного свойства. Вам придется создать свой собственный контроль и переопределить рендеринг.

0
ответ дан 3 December 2019 в 18:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: