我需要使用多列更改listview中所选项目的背景颜色

时间:2009-11-06 07:40:33

标签: c# listview

标题如下。我已经在列表框中实现了这一点。现在我想用多列实现这个到listview。你还可以包括drawcolumnheader示例吗?

2 个答案:

答案 0 :(得分:1)

ListView(在winforms中)与win32控件绑定。如果您想要更多灵活性,我会切换到DataGridView;这仍然可以让您显示表格数据,但您可以在不同的粒度级别更改样式。

答案 1 :(得分:1)

如果您刚开始使用ListView,请帮自己一个忙,看看ObjectListView。 ObjectListView是一个围绕.NET WinForms ListView的开源包装器,它使 更容易使用,并且可以轻松地允许在普通ListView中非常困难的东西。

更改所选项目的背景颜色是一个在普通ListView中很难但使用ObjectListView很容易的例子。在普通的ListView中,所选行的背景由系统控制 - 您无法将其更改为其他任何内容。但是使用ObjectListView,您只需执行此操作:

this.objectListView1.OwnerDraw = true;
this.objectListView1.HighlightBackgroundColor= Color.Red;

此外,开箱即用,ObjectListView允许您更改列标题的字体和文本颜色。如果需要,您甚至可以对列标题进行自动换行:

alt text
(来源:sourceforge.net