2011-01-27 14 views
6

Tôi có một FrameworkElement và tôi muốn thực hiện hành động A khi người dùng nhấp chuột duy nhất và hành động B khi người dùng nhấp đúp chuột.nhận khoảng thời gian bấm đúp của hệ thống trong WPF (giá trị từ bảng điều khiển)

Do cách thức sự kiện được phân phối, tôi luôn luôn nhận một sự kiện nhấp chuột bắt đầu hành động A. Sau khi xem xung quanh, tôi đã tìm thấy an interesting technique here sử dụng bộ hẹn giờ để trì hoãn việc xử lý các lần nhấp. Tuy nhiên, ví dụ này mã hóa bộ đếm thời gian thành 300 mili giây, nhưng tôi muốn sử dụng hộp thoại "Tốc độ nhấp đúp" của người dùng trong hộp thoại Thuộc tính chuột của Bảng điều khiển.

API wpf/C# để nhận giá trị đó từ hệ thống là gì?

Trả lời

9

Bạn có thể tìm ra thời gian ở đây: System.Windows.Forms.SystemInformation.DoubleClickTime

Bạn thực sự có thể nhìn thấy một thực hiện đầy đủ những gì bạn đang cố gắng để đạt được ở đây:

WPF: Button single click + double click issue

+0

tốt, nhưng tốt hơn để sử dụng SystemInformation.DoubleClickTime và tránh tham chiếu winforms trong WPF –

+0

Lớp SystemInformation nào bạn đang đề cập đến? không gian tên của nó là gì? – ColinE

+0

@ Muad'Dib có vẻ như SystemInformation là một phần của winforms –

0

Nếu bạn không muốn tham khảo hội nghị System.Windows.Forms, bạn có thể thử điều này:

[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)] 
    public static extern int GetDoubleClickTime(); 
Các vấn đề liên quan