2010-09-07 34 views
11

如何獲取對於DoubleClick在WPF中有效的持續時間(以毫秒爲單位)。與Windows窗體中的SystemInformation.DoubleClickTime屬性相同。如何獲取WPF中的雙擊時間

+0

是的,使用Windows窗體類。 MouseDevice使用相同的信息來源。 – 2010-09-07 20:44:40

回答

17

您可以直接使用P/Invoke to call GetDoubleClickTime

[DllImport("user32.dll")] 
static extern uint GetDoubleClickTime(); 

這將返回的毫秒數爲雙擊。

+0

+1感謝您的回答。還有沒有P/Invoke(而不是Windows窗體)的版本?我嘗試不使用P/Invoke,因爲我不知道使用它的懲罰是什麼(除了限制代碼執行)。 – HCL 2010-09-07 20:53:54

+1

@HCL:這幾乎是使用Windows窗體,或使用P/Invoke。 P/Invoke的重量較輕,因爲它不會添加任何依賴項(除Windows的一部分user32.dll外)。沒有原生的WPF選項。 [Windows窗體類,順便說一句,只是使用P/Invoke來調用Windows API ...] – 2010-09-07 20:55:55

+0

+1,我剛剛經歷了WPF中的所有InputManager/MouseDevice類來仔細檢查,似乎沒有其他方法比P/Invoke或WinForms。 – user7116 2010-09-07 21:00:27