我在任何地方都没有找到答案,所以我将提出新的问题。我有数据网格,其中是SelectionChanged事件后的一些代码。以及DoubleClick上的一些代码(尝试过MouseDoubleClick、CellDoubleClick和DoubleClick)。在运行速度较快的PC上没有问题,但在我的装有英特尔凌动处理器的Windows8平板电脑上,由于SelectionChange的原因,应用程序运行速度较慢,因此无法启动DoubleClick。
如果我在SelectionChange上注释代码,那么DoubleClick就会被触发。但是当我离开代码时,它似乎太慢了,以至于它不能识别DoubleClick。我必须快速点击(7-8次)才能启动它。
我还以为有人在排队呢。所以至少应该在SelectionChange之后触发DoubleClick。
我迫不及待地想知道SelectionChange被触发后是否不是一个DoubleClick。然后,即使在速度很快的pc上,应用程序也会看起来很慢。
这个事件怎么会丢失呢?
发布于 2013-02-13 07:20:10
听起来你可能是在主线程上做工作,试着使用不同的线程来做你的处理,释放你的UI线程来接收双击。
您将需要执行一些同步操作,但如果操作正确,应该可以缓解竞争状况。
发布于 2013-02-13 07:21:16
您不应该在事件处理程序中进行任何长时间的计算。我建议启动一个新的thread (或者从threadpool借用一个,或者启动一个新的task),并在后台线程上运行较长时间的代码。
https://stackoverflow.com/questions/14843649
复制相似问题