C#winform错误:InvalidArgument=“0”的值对于“index”无效。

代码是这样的:
private void listview1.SelectedIndexChanged(objece sender, EventArgs e)
{
this.LVReload2(int.Parse(this.listview1.SelectedItems[0].SubItems[0].Text.ToString()));
}

这里这里看selecteditems的count=0,可是这是listview选定后才执行的程序,为什么count会等于0?这个问题应该怎么解决?
ps: LVReload2是我自己写的一个方法。

墨色风雨
浏览 1870回答 2
2回答

慕码人2483693

这个是因为listview1中选中变化触发事件的时机造成的你先选中A,然后去点B,当A失去选中状态时,触发SelectedIndexChanged事件,这个时候,是没有选中项的,然后B获得选中状态,再次触发SelectedIndexChanged事件,这个时候选中项就是B了事件顺序是 ItemSelectionChanged--〉SelectedIndexChanged--〉ItemSelectionChanged--〉SelectedIndexChanged

撒科打诨

加个判断if(this.listview1.SelectedItems.Count>0)
打开App,查看更多内容
随时随地看视频慕课网APP