首页 > 解决方案 > C# - 帮助:Listview SelectedItems 无效的索引值

问题描述

我在 WindowsForms 中编程,尝试使用按钮从列表视图中删除项目。我尝试使用以下代码:

private void btnQuitar_Click(object sender, EventArgs e)
    {
        if(listvPrincipal.Items.Count > 0)
        {
            while (listvPrincipal.Items.Count > 0)
                listvPrincipal.Items.Remove(listvPrincipal.SelectedItems[0]);
        }
    }

但是每次我选择一个项目并单击“删除”按钮时,都会出现以下错误:

InvalidArgument = Value of '0' is not valid for 'index'.

我搜索了这个问题,但每个答案都说问题是没有选择任何项目,要解决它,你应该确保“Items.Count > 0”。

在我按下按钮之前,我确保我选择了一个项目。

我在另一个项目中使用了相同的代码,它工作得很好。我不确定为什么它在这里不起作用。任何想法?

标签: winformslistviewiteminvalidargumentexception

解决方案


您应该检查SelectedItems财产而不是Items财产:

private void btnQuitar_Click(object sender, EventArgs e)
{
    while (listvPrincipal.SelectedItems.Count > 0)
        listvPrincipal.Items.Remove(listvPrincipal.SelectedItems[0]);
}

推荐阅读