ListView中的错误:InvalidArgument =值'0'对'index'无效

use*_*837 2 c# listview winforms

第二次在ListView中选择某个项目时会出现此错误.我试着调试它,当我第二次选择一些项目时,它list_answers.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;
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

Gus*_*man 7

更改选择时,ListView将首先取消选择当前行,然后选择新行,这样您将调用SelectedItems为空的调用.

您可以通过添加来解决它

if(list_answers.SelectedIndex == -1)
    return;

or

if(list_answers.SelectedItems.Count == 0)
    return;
Run Code Online (Sandbox Code Playgroud)