C# VB .NET 中 ListView SubItem 颜色设置无效怎么解决?

Posted by NosaLee in .NET Programming on 29-06-2012. Tags: , , , , , , , , , , ,

作者:牧山道人
原文地址:http://www.seeksunslowly.com/c-sharp-vb-net-中-listview-subitem-颜色设置无效怎么解决
转载请注明出处,谢谢。
_____________________________________

今天需要在 Details View 模式的 ListView 中设置 SubItem 文字前景色,幸运的是 ListViewSubItem 类有 ForeColor 属性,于是直接写下:

lvi.SubItems(2).ForeColor = Color.Red ‘ 其中 lvi 为 一个 ListViewItem 对象。

遗憾的是,以上代码并不工作,试了调用 ListView.Refresh 也不行,于是开始翻查 ListView, ListViewItem, ListViewSubItem 类的属性、方法,功夫不负有心人,几分钟后看到 ListViewItem 类有个 UseItemStyleForSubItems 属性比较像,而且默认取值为 True,于是在代码中手工将之修改为 False,ListViewSubItem 的前景色(ForeColor)出来了,不需要调用 ListView.Refresh,示例如下:

1
2
3
4
5
Dim lvi As ListViewItem
lvi = lv.Items.Add("Test") ' lv 为 ListView 对象。
lvi.UseItemStyleForSubItems = False
lvi.SubItems.Add "Failed"
lvi.SubItems(1).ForeColor = Color.Red

Comments:

There are (1) Comments for the C# VB .NET 中 ListView SubItem 颜色设置无效怎么解决?

Post a comment