2010-09-07 19 views
11

Cách tôi có thể nhận được thời lượng bằng mili giây hợp lệ cho một DoubleClick trong WPF. Giống như trong Windows Forms, SystemInformation.DoubleClickTime -property là.cách nhận thời gian nhấp đúp trong WPF

+0

Có, sử dụng lớp Windows Forms. MouseDevice sử dụng cùng một nguồn thông tin. –

Trả lời

17

Bạn có thể sử dụng trực tiếp P/Invoke to call GetDoubleClickTime:

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

này sẽ trả lại số mili giây cho một nhấp chuột kép.

+0

+1 Cảm ơn câu trả lời của bạn. Có phải là một phiên bản mà không có P/Invoke (và không phải là các hình thức cửa sổ)? Tôi cố gắng không sử dụng P/Invoke bởi vì tôi không thực sự biết những hình phạt trong việc sử dụng nó là gì (ngoài việc hạn chế thực thi mã). – HCL

+1

@HCL: Nó sử dụng khá nhiều cửa sổ, hoặc sử dụng P/Invoke. P/Invoke có trọng lượng nhẹ hơn một chút, vì nó không thêm bất kỳ phụ thuộc nào (ngoại trừ user32.dll, là một phần của Windows). Không có tùy chọn WPF nào. [Lớp Windows Forms, btw, chỉ sử dụng P/Invoke để gọi API Windows ...] –

+0

+1, tôi vừa xem tất cả các lớp InputManager/MouseDevice trong WPF để kiểm tra lại và dường như không có cách nào khác hơn P/Gọi hoặc WinForms. – user7116

Các vấn đề liên quan