2010-01-24 2 views
2

У меня есть список, который должен отображать данные, содержащие 2 поля: время и сообщение. Вместо отображения 1 строки текста я хочу, чтобы каждый элемент отображался как 2 строки. Первая строка - это время, а вторая строка - это сообщение, в котором каждая строка имеет другой стиль.Winform customize listbox item

Как я могу это сделать? Я могу привязать массив объектов к списку, но как его стиль? Спасибо за ваши ответы.

+0

Я уверен, что это продолжение более раннего вопроса; отредактируйте предыдущий, чтобы уточнить конкретный вопрос. И btw, с winforms listview * вы не можете *. Попробуйте (как уже ответил) WPF; вы можете разместить WPF внутри winforms, если это необходимо. –

+2

Это закрылось, когда я набирал ответ. Вам нужно будет использовать свойство DrawMode, есть хороший пример обработчика события DrawItem в статье библиотеки MSDN: http://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.drawitem .aspx –

+0

nobugz Спасибо, это выглядит многообещающе :) – Aishwar

ответ

3

Я просто отправлю ответ ранее слева в комментарии. Вам нужно будет использовать свойство DrawMode, есть хороший пример обработчика событий DrawItem в MSDN Library article. Вы можете нарисовать текст любым способом, включая рисование двух строк текста. Используйте большой шрифт или установите свойство ItemHeight с DrawMode = OwnerDrawVariable, чтобы предоставить себе достаточно места для двух строк.