Пользовательский ListBox, который включает другие элементы управления - PullRequest
0 голосов
/ 06 июля 2011

Мне нужен собственный ListBox, который содержит три элемента в каждой строке: флажок, строку и изображение.Как этого добиться?

Ответы [ 3 ]

1 голос
/ 06 июля 2011

Я бы предложил использовать элемент управления сеткой, если это возможно. DataGridView сделает это, но коммерческая версия может работать лучше.

Другое возможное решение - переопределить событие рисования в отмеченном списке и создать пользовательский элемент управления Drawn Owner http://www.codeproject.com/KB/combobox/Owner_drawn_ListBox.aspx или перейти в коммерческое состояние.

1 голос
/ 06 июля 2011

Еще один способ сделать это - изменить DrawMode с Normal на OwnerDrawFixed или OwnerDrawVariable и выполнить рисование самостоятельно в событии DrawItem для списка.

Для CheckBox посмотрите на ControlPaint.DrawCheckBox (...) или CheckBoxRenderer.DrawCheckBox (...)

Для строки e.Graphics.DrawString (...)

Для графического окна, e.Graphics.DrawImage (...)

1 голос
/ 06 июля 2011

Вы можете создавать динамические элементы управления для панелей с помощью кода, но это довольно долго, я бы посоветовал вам использовать сетку, как в следующих ссылках, потому что я думаю, что это то, чего вы пытаетесь достичь. http://csharpdotnetfreak.blogspot.com/2009/07/display-images-gridview-from-database.html, http://www.asp.net/data-access/tutorials/adding-a-gridview-column-of-checkboxes-cs

...