1

我有一个关于 listView 的快速问题,以及如何检查 ListView(包含空项目)是否有某个字符串?

这是添加到特定项目的代码(在列表视图的第 5 列下)。它基本上检查该项目是否出现在谷歌搜索中。如果是,它会向该特定行写入“是”,如果不是,它会将其留空:

string google2 = http.get("https://www.google.com/search?q=" + textBox1.Text + "");
                string[] embedid = getBetweenAll(vid, "type='text/html' href='http://www.youtube.com/watch?v=", "&feature=youtube_gdata'/>");

                for (int i = 0; i < embedid.Length; i++)
                {

                    if (google2.Contains(embedid[i]))
                    {
                        listView1.Items[i].SubItems.Add("Yes");
                        }
                    }

现在我要做的是检查某个列是否包含说是的项目。如果它确实将它们着色为绿色,如果不是。

这是代码:

 if (i.SubItems[5].Text.Contains("Yes"))
                        {
                            labelContainsVideo.ForeColor = System.Drawing.Color.Green;
                        }

我的问题是我不断收到一条错误消息InvalidArgument=Value of '5' is not valid for 'index'.

我的预感是第 5 列中有空项目可能会搞砸,但我不知道。

关于如何解决这个问题的任何想法?

4

1 回答 1

1

检查 Item 以查看 SubItem Collection 是否具有正确的 Number of 值。

IE

int threshold = 5;

foreach (ListViewItem item in listView1.Items)
{
    if (item.SubItems.Count > threshold)
    {
        if (item.SubItems[5].Text.Contains("Yes"))
        {
            // Do your work here
        }
    }
}
于 2012-11-22T01:28:40.390 回答