如何在ChartControl上单独处理MouseClick和MouseDoubleClick事件

时间:2013-06-05 07:15:51

标签: c# winforms charts devexpress mouseevent

我正在实施一个模块,该模块需要MouseClick MouseDoubleClick ChartControl处理DevExpressMouseDoubleClick。我正在使用的版本是v12.2。

当我双击该图表时,会触发这两个事件。我想(并且我认为一定是)它只会触发一个事件,在这种情况下,MouseClick

那么,有谁知道如何解决这个问题?

我尝试了什么:

  • 处理ClickMouseEventArgs#Clicks事件并查看MouseDoubleClick属性。但它总是1。

我正在使用的是什么:

  • 声明一个布尔变量来判断是否触发了MouseClick。在{{1}}处理时,只需等待片刻,然后在该变量未打开时执行代码。我认为这是一个糟糕的实施。

1 个答案:

答案 0 :(得分:2)

你需要一台时间机器才能看到两者之间的差异。不可避免地只需单击即可启动双击,您始终会看到第一次单击。

你可以通过使用延迟过去的计时器来获得一个看到未来的时间机器。将其间隔设置为SystemInformation.DoubleClickTime + 16并在Click事件中启动它,在DoubleClick事件中将其停止。如果Tick事件触发,则只需单击一次。

虽然有效,但请注意,对单击的延迟响应非常烦人。最好不要用这样的用户界面来惹恼你的用户。

相关问题