c# - InvalidArgument= '0' 的值对于 'index' 无效。参数名称: index

标签 c# winforms list listview

我有一个自定义类“Person”,具有名称、电子邮件等属性。我有一个名为“people”的列表,并且有一个 listView,用于显示“people”列表中每个项目的名称。

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

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

但是它在标题中抛出了错误,但是,之后的代码从 listView 中删除了名称,它可以正常工作:

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

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

非常感谢。

最佳答案

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

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

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

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

关于c# - InvalidArgument= '0' 的值对于 'index' 无效。参数名称: index,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15485122/

相关文章:

c# - MVC 发布到另一个操作

c# - 为特定应用程序禁用 Windows 10 缩放

c# - 从 C# 代码内部访问 F# 列表

python - 如何从多个句子中返回列表中的关键字?

c# - 如何将 html 友好的 ascii 代码转换为 c# 中的字符串?

c# - 在.cs设计表单中c#中的datagridview中添加固定行数

c# - 如何在 MVC 3 中将 WebForms .ascx 显示为局部 View

c# - 在 Winform 中引发一次 UserControl Load 事件

c# - 选中组中的哪个单选按钮?

python - 根据算法或模式重新排序 python 列表