C# 如何在listView中为每个项目添加其他颜色?

C# 如何在listView中为每个项目添加其他颜色?,c#,.net,winforms,C#,.net,Winforms,首先,这种处理listView的方法在构造函数中添加项是正确的吗?第二,如何将所有文本“Ready”涂成红色?只有“准备好了” 然后调用colorReady();在构造函数中,在设置所有listView之后,它将给listView中的所有项目上色,就像它在屏幕截图中显示的那样。创建一个空白并将其命名为任意名称,我将其命名为colorReady private void colorReady() { foreach (ListViewItem li in listV

首先,这种处理listView的方法在构造函数中添加项是正确的吗?第二,如何将所有文本“Ready”涂成红色?只有“准备好了”


然后调用colorReady();在构造函数中,在设置所有listView之后,它将给listView中的所有项目上色,就像它在屏幕截图中显示的那样。

创建一个空白并将其命名为任意名称,我将其命名为
colorReady

    private void colorReady()
    {
        foreach (ListViewItem li in listView1.Items)
        {
            if(li.Text == "Ready")
            {
                li.SubItems.Add("Color");
                li.SubItems[0].ForeColor = Color.Red;
                li.UseItemStyleForSubItems = false;
            }
        }
    }
然后在上面的代码之后调用它

        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[] countriesCodes = new string[] { "test1", "test2", "test3" };
        string[] arr = new string[countriesCodes.Length];
        ListViewItem itm;
        for (int i = 0; i < countriesCodes.Length; i++)
        {
            arr[0] = "Ready";
            arr[1] = countriesCodes[i];
            itm = new ListViewItem(arr);
            listView1.Items.Add(itm);
        }

        colorReady();
listView1.View=View.Details;
listView1.GridLines=true;
listView1.FullRowSelect=true;
//添加列标题
listView1.Columns.Add(“状态”,70);
列表视图1.列。添加(“国家”,70);
listView1.Columns.Add(“Link”,399);
字符串[]countriesCodes=新字符串[]{“test1”、“test2”、“test3”};
string[]arr=新字符串[countriesCodes.Length];
列表视图项itm;
for(int i=0;i

添加一个尚未“准备好”测试结果的项目。

对于您的案例,可能重复的正确方法对于另一个案例是错误的。没有任何其他信息,无法确定什么适合你。我用截图编辑了我的问题。它把所有的东西都涂成了红色而不仅仅是“就绪”你的意思是你只想让“就绪”所在的单元格变成红色而不是整条线?或者甚至没有“就绪”的行也是红色的。是的,我的意思是只有状态为红色的单元格。稍后,我还想将此单元格文本从“就绪”更改为“已下载”,但是的,我指的是列状态下的所有单元格。
    private void colorReady()
    {
        foreach (ListViewItem li in listView1.Items)
        {
            if(li.Text == "Ready")
            {
                li.SubItems.Add("Color");
                li.SubItems[0].ForeColor = Color.Red;
                li.UseItemStyleForSubItems = false;
            }
        }
    }
        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[] countriesCodes = new string[] { "test1", "test2", "test3" };
        string[] arr = new string[countriesCodes.Length];
        ListViewItem itm;
        for (int i = 0; i < countriesCodes.Length; i++)
        {
            arr[0] = "Ready";
            arr[1] = countriesCodes[i];
            itm = new ListViewItem(arr);
            listView1.Items.Add(itm);
        }

        colorReady();