C# 根据特定条件更改ListView项的背景色
我有一个由三列组成的列表视图,其中一列是“状态”列。我希望此列中单元格的背景颜色根据其中的值为绿色或红色,但到目前为止,我还没有找到正确的解决方案 我已经找到了很多关于将背景色应用于整行的信息,但是对于具有特定值的单元格,还没有找到这样做的信息。至少,似乎什么都不管用C# 根据特定条件更改ListView项的背景色,c#,listview,backcolor,C#,Listview,Backcolor,我有一个由三列组成的列表视图,其中一列是“状态”列。我希望此列中单元格的背景颜色根据其中的值为绿色或红色,但到目前为止,我还没有找到正确的解决方案 我已经找到了很多关于将背景色应用于整行的信息,但是对于具有特定值的单元格,还没有找到这样做的信息。至少,似乎什么都不管用 if (emp.SubItems[2].ToString() == "AANWEZIG") { emp.BackColor = Color.Green;
if (emp.SubItems[2].ToString() == "AANWEZIG")
{
emp.BackColor = Color.Green;
}
首先,在创建
ListViewItem
实例时,需要设置为false
。这样,ListViewItem
的Font
、ForeColor
和BackColor
就不会用于所有子项
其次,您的if
语句需要检查ListViewSubItem.Text
属性,而不是ToString
的结果ToString
不仅仅返回文本
最后,根据文本设置ListViewSubItem.BackColor
private void LoadListView()
{
//建立您在原始问题中调用emp的ListViewItem。。。
emp.UseItemStyleForSubItems=false;
if(emp.SubItems[2].Text==“AANWEZIG”)
{
emp.子项[2]。BackColor=Color.Green;
}
}
当它的绘图与已有绘图相同时,尝试更改它;它在一个方法中,在启动时被调用。或者这不是你所指的吗?不,这里有一个drawitem方法,改变颜色是正常的。