2010-01-24 189 views
2

我有一个列表框应显示包含2个字段的数据:时间和消息。我不希望显示1行文本,而是希望将每个项目显示为2行 - 第1行是时间,第2行是消息,每行都有不同的样式。Winform自定义列表框项

我该怎么做?我可以将对象数组绑定到列表框,但我该如何设置它?感谢您的回答。

+0

我很确定这是先前问题的延续;请编辑较早的一个,以使问题更清楚。顺便说一句,与winforms listview *你不能*。尝试(如已经回答)WPF;如果需要,您可以在Winforms中托管WPF。 – 2010-01-24 20:21:16

+2

因为我正在输入答案,所以已经关闭了。您需要使用DrawMode属性,在MSDN Library文章中有一个DrawItem事件处理程序的好例子:http://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.drawitem .aspx – 2010-01-24 20:23:21

+0

nobugz谢谢,这看起来很有希望:) – Aishwar 2010-01-24 20:29:11

回答

3

我只是在评论中正式发布了一个答案。您需要使用DrawMode属性,MSDN Library article中有一个DrawItem事件处理程序的好例子。您可以以任何方式绘制文本,包括绘制两行文本。使用大字体或使用DrawMode = OwnerDrawVariable设置ItemHeight属性,为两条线提供足够的空间。