Добавление растрового изображения или значка в ячейку в DataGridViewComboBoxColumn

Я хотел бы иметь поле со списком, содержащее 3 маленьких значка или растровые изображения, я не против.

Я пробовал следующий код, чтобы добавить 1 изображение:

DataGridViewComboBoxColumn statusColumn = new DataGridViewComboBoxColumn();
Icon greenIcon = new Icon("../../Resources/green_tick.ico");
Bitmap bitmapGreen = greenIcon.ToBitmap();
object itemtoadd = bitmapGreen;
statusColumn.Items.Add(itemtoadd);

Все, что происходит, это то, что у него есть имя типа в поле со списком, и выдается исключение.

Может ли кто-нибудь помочь мне отобразить изображение в поле со списком?


person maffo    schedule 14.12.2011    source источник
comment
Это Windows.Forms допустим? Я не думаю, что ComboBox по умолчанию поддерживает изображения в качестве элементов.   -  person kev    schedule 14.12.2011
comment
@kev - Да, это для формы. Я переименовал свой вопрос, чтобы люди знали.   -  person maffo    schedule 14.12.2011
comment
Проверьте эту тему: stackoverflow.com /questions/1232861/ Это также должно работать для DataGridViewComboBoxColumn.   -  person kev    schedule 15.12.2011


Ответы (1)


Вы должны подключить обработчик событий Drawitem в событии EditingContolShowing после приведения отправителя к ComboBox.

Затем в Drawitem вы используете метод DrawImage графического интерфейса GDI для рисования растрового изображения.

К сожалению, datagridviewcomboboxcolumn не имеет встроенных возможностей управления списком форм.

person Community    schedule 17.06.2017