我有一个列表视图,我想在按下按钮时删除所选项目。此外,我将该项目用于其他一些操作。基本上,我使用项目字符串的一些字母来匹配文件并将其删除。如果所选项目是列表视图中的第一个,则此方法有效,但如果它是第二个、第三个等,则无效。
private void delete_button_Click(object sender, EventArgs e)
{
for (int i = 0; i < listView1.Items.Count; i++)
{
if (listView1.Items[i].Selected)
{
string var1 = listView1.SelectedItems[i].ToString(); //error
string var2 = var1.Substring(31, 5);
... // code for other actions
listView1.Items[i].Remove();
i--;
}
}
}
它会引发错误
未处理 ArgumentOutofRangeException” - '1' 的无效参数值对 'index' 无效
我不明白问题出在哪里,为什么它只有在第一项时才有效。