作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用具有 listView 的 winForms 应用程序。该 listView 启用了多选,我在列表中有很多很多项目(在行 View 中)。
当我选择最后一行(即项目),然后按住 Shift 键并单击第 5000 行时,SelectedIndexChanged 会触发 5000 次。如果发生这种情况,我将陷入一个非常讨厌的循环。单击的最后一行不能保证是“SelectedItems”列表中的最后一项。我如何获得实际项目的点击?
编辑:更好的说明:我如何得到导致 SelectedIndexChanged 事件的这个特定迭代的 ListViewItem? ...即使我必须检查所有 5000 个。我需要知道我在看哪一个。 EventArgs 没有索引属性,发送方是 ListView,而不是 ListViewItem。
有什么想法吗?
最佳答案
哦,看在 PETE 的份上...(* 感觉比石头还笨 *)
我找到了答案。请注意,我使用的是 SelectedIndexChanged。我应该一直在使用另一个事件:ItemSelectionChange。
当使用那个事件时,我现在有事件可以告诉我选择中哪些项目发生了变化,它告诉我该项目是被选中还是未被选中。很漂亮。
我希望能帮助其他正在解决这个问题的人。
关于C# : How do I get the actual item clicked from SelectedIndexChanged for a ListView control?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/470375/
我是一名优秀的程序员,十分优秀!