【发布时间】:2009-01-22 18:58:09
【问题描述】:
我正在使用具有 listView 的 winForms 应用程序。该 listView 启用了多选,并且我在列表中有很多很多项目(在行视图中)。
当我选择最后一行(即项目)时,然后按住 shift 单击第 5000 行,SelectedIndexChanged 会触发 5000 次。如果发生这种情况,我最终会陷入一个非常讨厌的循环。单击的最后一行不能保证是“SelectedItems”列表中的最后一项。如何获得点击的实际项目?
编辑:更好的说明:如何获得导致 SelectedIndexChanged 事件的特定迭代的 ListViewItem? ...即使我必须检查所有 5000 个。我需要知道我在看哪一个。 EventArgs 没有 index 属性,sender 是 ListView,而不是 ListViewItem。
有什么想法吗?
【问题讨论】:
标签: c# winforms multithreading