如何在ChartControl上分别处理MouseClick和MouseDoubleClick事件

本文关键字:MouseClick 处理 MouseDoubleClick 事件 别处 ChartControl | 更新日期: 2023-09-27 18:16:53

我正在实现一个模块,需要在DevExpressChartControl上处理MouseClickMouseDoubleClick。我使用的版本是v12.2。

当我双击该图表时,两个事件都被触发。我希望(我认为它必须是)它只触发一个事件,在本例中是MouseDoubleClick

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

What's I've try:

  • 处理MouseClickClick事件,参见MouseEventArgs#Clicks属性。但它总是1.

我在用什么:

  • 声明一个布尔变量来判断MouseDoubleClick是否被触发。在MouseClick处理,只是等待一会儿,然后做代码,如果该变量没有打开。我认为这是一个糟糕的实现。

如何在ChartControl上分别处理MouseClick和MouseDoubleClick事件

你需要一台时间机器才能看出两者的区别。双击不可避免地要从一次点击开始,你总是先看到第一次点击。

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

这是可行的,但请注意,对单个点击的延迟响应相当烦人。最好不要用这样的用户界面来惹恼你的用户。