无法使ListViewItem以颜色显示

时间:2016-08-01 11:22:33

标签: c# winforms colors listviewitem

所以我在Windows窗体应用程序中使用C#,我的问题是关于ListView。我想要做的就是根据值显示特定颜色的ListViewItem。现在我尝试了传统的方法:

ListViewItem li = new ListViewItem();
li.ForeColor = Color.Green;
li.Text = "Limit: " + wc.getCreditLimit();
listLimits.Items.Add(li);

但我在ListView中看到的结果是:

  

ListViewItem的:{极限:15000}

不,它不是彩色的

我尝试的另一种方法是将文本作为参数初始化ListViewItem,如下所示:

ListViewItem li = new ListViewItem("Limit: " +   wc.getCreditLimit());
li.ForeColor = Color.Green;
listLimits.Items.Add(li);

但这也会产生与以前相同的结果。

我尝试的另一种方法是添加ListViewItem的Text属性,如下所示:

ListViewItem li = new ListViewItem("Limit: " + wc.getCreditLimit());
li.ForeColor = Color.Green;
listLimits.Items.Add(li.Text);

现在这会在ListView中显示正确的文本,但它仍然没有着色!

有人可以解释一下这种奇怪的行为,因为根据我的阅读,看起来这是向ListViewItem添加颜色的唯一方法。任何建议都将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:1)

您的代码(第一段)工作得很好。

如果您看到ListViewItem:{Limit:15000},则其他地方出现问题。

看起来好像你添加了一个错误的对象类型,但因为它显然是ListViewItem你没有...

所以我想你是将它添加到ListBox而不是ListView ..当我这样做时,我得到你所看到的:

enter image description here

答案 1 :(得分:0)

试试这个:

listLimits.Items.Add(li);

您只是添加了不是ListViewItem

的文字
listLimits.Items.Add(**li.Text**);