在ListView控件上,我需要在选择更改后触发事件,但每个用户操作只需触发一次。如果我只是在大多数情况下使用的SelectedIndexChanged,该事件触发两次(一次当上一个元素是选择,而当新的元素被选择一次以上)事件,如果用户只在控制一次点击。.NET ListView:更改选择后的事件
两个事件火势迅速一前一后,但选择何时更改,需要一定的时间(几乎是第二个),所以它是做两次,减慢界面我做计算。
我想要做的只是每个用户操作执行一次(在选择新元素之前这样做是无用的),但我无法知道事件是否仅仅是一对中的第一个(为了跳过第一次计算),因为如果用户刚刚取消选定的元素,它将只触发一次。
我不能用点击鼠标点击或事件,因为那些不火,在所有如果用户点击列表外取消选择。
感谢您的帮助。
不,我不希望出现这种情况,这是明确的部分的最后一段说。 – Laurent 2009-07-28 08:33:54
不,不是。最后一段谈到Click和MouseClick。 如果您检查SelectedIndex == -1是否意味着取消选择。当SelectedIndex再次> = 0时,您将开始计算。 – EricSchaefer 2009-07-28 16:14:26
是的,但这与仅使用Click事件(在SelectedIndex = -1时不触发)完全相同。当我说“因为如果用户删除选择不会触发”,这可能意味着即使没有选择新项目,我也需要它运行! – Laurent 2009-07-29 04:52:56