有什么办法代替使用for循环从listview检查所有项目吗?

时间:2019-02-06 13:20:53

标签: c# winforms listview checkbox

我在Windows窗体应用程序中使用listview和一个不同的复选框。现在,当我选中该复选框时,将检查所有listview项目。它运行良好,但是现在我有500多个项目,所以现在只要我选中复选框,它就可以运行,但是需要花费更多时间,UI也会卡住或显示不响应的消息。

我正在使用.Net 4.5开发Visual Studio 2017。

public void checkBox_SelectAll_Click(object sender, EventArgs e)
{
    if (checkBox_SelectAll.Checked)
    {
        for (int i = 0; i < listview1.Items.Count; i++)
        {
            listview1.Items[i].Checked = true;
        }
    }
    else
    {
        for (int i = 0; i < listview1.Items.Count; i++)
        {
            listview1.Items[i].Checked = false;
        }
    }
}

我希望我单击复选框时我的应用程序不会进入不响应状态。

0 个答案:

没有答案