如果带有listView的语句:只写一列?

时间:2012-11-22 14:35:19

标签: c# winforms listview

我要做的是只使用if语句写入listView的第5列。

我正在检查Googoel中是否出现某个文本,然后在文本显示的行中显示“是”。如果否,则在文本未显示的行中放入“否”。

继续我所拥有的但是它在else语句中的No部分上与InvalidArgument=Value of '24' is not valid for 'index'. Parameter name: index一起出错。:

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");
    }
    else
    {
        listView1.Items[i].SubItems.Add("No");
    }
}

2 个答案:

答案 0 :(得分:2)

embedid.Length更改为embedid.Length - 1

当您使用Length时,如果您有5个项目,则计数将为5但是在为5个项目编制索引时,您需要拥有-1,因为您从0-4编号为到1-5

答案 1 :(得分:2)

我认为这样做会:

listView1.Items[i].SubItems.Item[4] = google2.Contains(embedid[i]) ? "Yes" : "No"