InvalidArgument =值'0'对'index'无效。参数名称:index

时间:2013-03-18 19:21:44

标签: c# winforms list listview

我有一个自定义类“Person”,其中包含Name,Email等属性。我有一个名为“people”的列表,我有一个listView,显示“people”列表中每个项目的名称。 / p>

我正在尝试删除用户在listView中选择的“people”项,并在button1.Click事件中使用以下代码行:

people.RemoveAt(listView1.SelectedItems[0].Index);

但它在标题中抛出错误,但是,之后的代码将从listView中删除名称,它没有问题:

listView1.Items.Remove(listView1.SelectedItems[0]);

我正在关注此处的教程视频:http://www.youtube.com/watch?v=0ZoDmeAZAD8

非常感谢。

1 个答案:

答案 0 :(得分:2)

问题是我在从ListView1中删除它之前将其从listView1中删除,因此无法找到我所指的内容并引发错误。

所以我所要做的就是切换这两个(已经切换)

people.RemoveAt(listView1.SelectedItems[0].Index); // removes item from people LIST.
listView1.Items.Remove(listView1.SelectedItems[0]); // removes item/person from LISTVIEW

它有效!谢谢大家,下次我不会在单独的链接中发布所有代码,抱歉。