【发布时间】:2017-03-14 00:40:17
【问题描述】:
首先这种处理listView在构造函数中添加项目的方式是正确的吗?其次,如何将所有文本“Ready”涂成红色?只有“准备好”?
listView1.View = View.Details;
listView1.GridLines = true;
listView1.FullRowSelect = true;
//Add column header
listView1.Columns.Add("Status", 70);
listView1.Columns.Add("Country", 70);
listView1.Columns.Add("Link", 399);
string[] arr = new string[countriesCodes.Length];
ListViewItem itm;
for (int i = 0; i < countriesCodes.Length; i++)
{
arr[0] = "Ready";
arr[1] = countriesCodes[i];
arr[2] = lines[i];
itm = new ListViewItem(arr);
listView1.Items.Add(itm);
}
运行 prgoram 时列表视图的屏幕截图: 我只想将状态列行着色为红色,我的意思是仅将文本“就绪”着色为红色,其余不着色。
如果我要添加这个方法:
private void colorReady()
{
foreach (ListViewItem li in listView1.Items)
{
if (li.Text == "Ready")
{
li.ForeColor = Color.Red;
}
}
}
然后调用 colorReady();在设置完所有 listView 后的构造函数中,它将为 listView 中的所有项目着色,就像它在屏幕截图中显示的那样。
【问题讨论】:
-
您的情况的正确方法是另一种情况的错误方法。在没有任何其他信息的情况下,无法确定什么适合您。