我正在使用一个带有listView的winForms应用程序.listView启用了多选,我在列表中有很多项(在行视图中).
当我选择最后一行(即项目)时,然后按住Shift键单击第5000行,SelectedIndexChanged将触发5000次.如果发生这种情况,我最终会陷入一个非常讨厌的循环.单击最后一行不保证是"SelectedItems"列表中的最后一项.如何点击实际项目?
编辑:更好的澄清:我如何得到ListViewItem,导致SelectedIndexChanged事件的这个特定迭代?......即使我必须检查所有5000个.我需要知道我在看哪一个.EventArgs没有索引属性,sender是ListView,而不是ListViewItem.
有什么想法吗?
哦,为了爱的宠爱......(*感觉笨拙而不是摇滚*)
我找到了答案.请注意,我使用的是SelectedIndexChanged.还有一个我应该使用的事件:ItemSelectionChange.
当使用该事件时,我现在有一些事件可以告诉我在选择中哪些项目发生了变化,它告诉我项目是选中还是未选中.很美丽.
我希望能帮助其他人解决这个问题.