【发布时间】:2014-09-04 17:50:09
【问题描述】:
当用户在 ListView 中选择项目时,我尝试做一些事情。 我试过这段代码:
private void listView1_SelectedIndexChanged(对象发送者,EventArgs e) { q = listView1.SelectedItems[0].Index; }但它不起作用并抛出一个异常,指出“listView1.SelectedItems”的计数为 0。
为什么它不起作用?
【问题讨论】:
-
It is because the event is also called when nothing is selected (anymore).所以你总是需要检查
SelectedItems.Count>0 -
@TaW 谢谢。有用。如果你愿意,可以把它写成答案,我会接受的。
-
不,抱歉,这个问题太小了,无法创建答案并让它进入永恒的 SO 档案。
-
@TaW 你应该总是使用
SelectedItems.Any(); -
它们并没有真正的不同,尤其是,因为事件很可能是由(缓慢的)用户操作引起的。