Как изменить кнопку выпадающего списка в элементе управления combobox?

#c# #winforms #forms

#c# #winforms #формы

Вопрос:

Как изменить кнопку выпадающего списка в ComboBox элементе управления (C #, Windows Forms)? У меня есть пользовательская кнопка, и я хочу использовать ее в ComboBox вместо кнопки выпадающего списка по умолчанию.

Комментарии:

1. Вам нужно VisualStyleRenderer

2. вы хотите расширить combobox?

Ответ №1:

Я думаю, что решение Hans Passant — это правильный путь…

Отсюда:

http://social.msdn.microsoft.com/forums/en-US/winformsdesigner/thread/5d65f987-834c-465f-a944-622831d4cfb0

Вы можете создать пользовательский элемент управления, перетащить на него поле со списком и кнопку, расположить кнопку прямо над кнопкой со стрелкой в поле со списком, чтобы сделать кнопку со стрелкой невидимой, обработать событие рисования кнопки, чтобы нарисовать на ней стрелку, это можно сделать, вызвав ComboBoxRenderer .Метод DrawDropDownButton() (Обратите внимание: этот метод имеет ограничение, для него требуется, чтобы в ОС был включен визуальный стиль) или путем рисования на нем значка, или просто нарисовав на нем маленький треугольник. Затем обработайте событие нажатия кнопки, чтобы отобразить выпадающий список ComboBox, это можно сделать примерно так

     private void button1_Click(object sender, EventArgs e)
    {
        this.comboBox1.DroppedDown = true;
    }