我想做的是检查listView(column5)是否包含带有单词“是”的任何项目。如果确实写有“ Great”,则该列中不包含任何带有单词“ Yes”的项目,则写有“ Bad”。

现在发生的事情是,即使该列确实包含带有单词“是”的项目,我的程序也只写Bad(else语句)。

我怎样才能解决这个问题?:

foreach (ListViewItem item in listView1.Items) {
    if (item.SubItems[5].Text.Contains("Yes")) {
        // Do your work here
        labelContainsVideo2.Text = "GREAT";
        labelContainsVideo2.ForeColor = System.Drawing.Color.Green;
    } else {
        labelContainsVideo2.Text = "BAD";
        labelContainsVideo2.ForeColor = System.Drawing.Color.Red;
    }
}

最佳答案

如果列表中的最后一个项目不包含“是”,则无论其他项目包含什么,输出将为“不良”。

试试这个...

string message = "BAD";
var msgColor = System.Drawing.Color.Red;
foreach (ListViewItem item in listView1.Items)
{
    if (item.SubItems[5].Text.Contains("Yes"))
    {
        message = "GREAT";
        msgColor = System.Drawing.Color.Green;
        break;   // no need to check any more items - we have a match!
    }
}
labelContainsVideo2.Text = message ;
labelContainsVideo2.ForeColor = msgColor;

关于c# - C#:if语句与listView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13515581/

10-16 23:13
查看更多