2013-06-05 65 views
2

我正在實現一個模塊,該模塊需要處理的ChartControl上的MouseClickMouseDoubleClick。我使用的版本是v12.2。如何分別處理ChartControl上的MouseClick和MouseDoubleClick事件

當我雙擊該圖表時,兩個事件都被觸發。我想(我認爲它一定是)它只會觸發一個事件,在這種情況下,MouseDoubleClick

那麼,有誰知道如何解決這個問題?

什麼是我試過:

  • 手柄MouseClickClick事件,看看MouseEventArgs#Clicks財產。但它始終爲1

我使用的是什麼:

  • 聲明一個布爾變量來判斷是否MouseDoubleClick被激發。在MouseClick處理,只是等待片刻,然後做代碼,如果該變量不打開。我認爲這是一個糟糕的實施。

回答

0

非常有趣的問題!

我想你會找到一個很好的解決方案here

+1

謝謝。通過你的幫助,我在'SystemInformation'類 –

2

您需要一臺時間機器來查看兩者之間的差異。不可避免地,只需點擊一次即可開始雙擊,您總是首先看到第一次點擊。

通過使用延遲過去的計時器,您可以獲得一臺能夠看到未來的時間機器。將其間隔設置爲SystemInformation.DoubleClickTime + 16並在Click事件中啓動它,並在DoubleClick事件中停止它。如果Tick事件觸發,那麼這是一次單擊。

雖然有效,但請注意,對單次點擊的延遲響應相當煩人。最好不要用這樣的用戶界面惹惱你的用戶。

+0

中發現了很多有趣的信息,我喜歡你的最後一句話。謝謝。這不是我的設計,我只是實現它。 –

相關問題