0

我在任何地方都没有找到答案,所以我会提出新问题。我有数据网格,SelectionChanged 事件之后的一些代码在哪里。还有一些关于 DoubleClick 的代码(尝试过 MouseDoubleClick、CellDoubleClick 和 DoubleClick)。在快速的 PC 上没有问题,但在我的带有 Intel Atom 的 Windows 8 平板电脑上,应用程序速度较慢,由于 SelectionChange,DoubleClick 不会被触发。

如果我在 SelectionChange 上评论代码,则会触发 DoubleClick。但是当我离开代码时,它似乎太慢了,以至于它无法识别 DoubleClick。我必须快速点击(7-8 次)才能触发它。

我以为有某种队列。所以至少应该在 SelectionChange 之后触发 DoubleClick。

在 SelectionChange 被触发后,我迫不及待地想看看它是否不是 DoubleClick。即使在快速的电脑上,应用程序也会看起来很慢。

这个事件怎么会丢失?

4

2 回答 2

1

听起来您可能正在主线程上工作,尝试使用不同的线程进行处理,释放您的 UI 线程以接收双击。

您将需要进行一些同步,但如果操作正确,它应该可以缓解竞争状况。

于 2013-02-12T23:20:10.090 回答
1

您不应该在事件处理程序中进行任何长时间的计算。我建议启动一个新线程(或从线程借用一个,或启动一个新任务),并在后台线程上执行更长的运行代码。

于 2013-02-12T23:21:16.407 回答