C# ListView中出错:InvalidArgument=的值';0';对';无效;指数';
当我第二次在ListView中选择某个项目时,会出现此错误。我试图调试它,当我第二次选择某个项目时,C# ListView中出错:InvalidArgument=的值';0';对';无效;指数';,c#,winforms,listview,C#,Winforms,Listview,当我第二次在ListView中选择某个项目时,会出现此错误。我试图调试它,当我第二次选择某个项目时,列表\u会回答。SelectedItems.Count为0。为什么? 这是我的密码: private void list_answers_SelectedIndexChanged(object sender, EventArgs e) { ListViewItem t = list_answers.SelectedItems[0];
列表\u会回答。SelectedItems.Count
为0。为什么?
这是我的密码:
private void list_answers_SelectedIndexChanged(object sender, EventArgs e)
{
ListViewItem t = list_answers.SelectedItems[0];
for (int i = 0; i < tasks.Count; i++)
{
if (t.Text == "Question №" + (i + 1))
{
this.ShowOnePanel(i);
iter = i;
break;
}
}
}
private void list\u answers\u SelectedIndexChanged(对象发送方,事件参数e)
{
ListViewItem t=列表_答案。选择编辑项[0];
for(int i=0;i
更改选择时,ListView将首先取消选择当前行,然后选择新行,因此您将有一个调用,其中SelectedItems将为空
您可以通过添加
if(list_answers.SelectedIndex == -1)
return;
or
if(list_answers.SelectedItems.Count == 0)
return;
下面的链接中有关于此问题的详细说明:
如果您只是在listview\u SelectedChangeIndex事件中添加此代码,它将解决问题
if (finishListView.SelectedItems.Count > 0)
{
// here your code goes
}
else
{
return;
}
否。我的项目由文本和图像组成。首先,图像设置为空。当我对某个问题给出正确答案时,我会为该项目(问题)设置一个图像要将其标记为正确,这很有帮助。我还有一个问题:我有一个函数,当某个问题显示时,该函数是否为ListView?此问题被选中。它与ListBox一起使用,但与ListView不一起使用。private void SelectedQuestion(int number){this.list\u answers.Items[编号].Selected=true;}您确定它没有被选中吗?如果ListView失去焦点,而您没有突出显示该行,则在该行恢复焦点之前,您将不会看到该行已被选中。此外,如果答案有效,请接受它。如果我快速浏览问题,我可以看到正确的“问题”“在ListView中闪烁。但是为什么它没有高亮显示呢?因为您必须在ListView上显式地设置HideSelection=false;)