2011-01-27 27 views
6

Bir FrameworkElement'im var ve kullanıcı tek tıklatıldığında A eylemini ve kullanıcı çift tıklattığında eylem B'yi gerçekleştirmek istiyorum. Nedeniyle yolu olaylaraSistemin WPF'de çift tıklama zaman aralığını alması (kontrol panelinden değer)

Hep etrafa sonra eylem A. başlar tek bir tıklama olayını almak , teslim edilir, ben tıklama işlenmesini geciktirmek için bir zamanlayıcı kullanılarak an interesting technique here bulundu. Ancak, bu örnek zamanlayıcıyı 300 milisaniyeye kadar kodlar, ancak kullanıcının "Çift tıklama hızı" ayarını Kontrol Paneli'nin Fare Özellikleri iletişim kutusunu kullanmayı tercih ederim.

Sistemden bu değeri almak için wpf/C# API nedir?

cevap

9

Burada vakit bulabilirsiniz: System.Windows.Forms.SystemInformation.DoubleClickTime

Sen aslında burada ulaşmaya çalıştıkları şeyin bir tam olarak uygulanmasını görebilirsiniz:

WPF: Button single click + double click issue

+0

iyi, ama SystemInformation.DoubleClickTime kullanmak ve WPF –

+0

içinde winforms başvurusunu önlemek daha iyi Hangi SystemInformation sınıfını yönlendiriyorsunuz? ad alanı nedir? – ColinE

+0

@ Muad'Dib gibi görünüyor SystemInformation winforms bir parçasıdır –

0

Eğer çalışmalıdır System.Windows.Forms derleme başvurusu istemiyorsanız, bunu deneyebilirsiniz:

[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)] 
    public static extern int GetDoubleClickTime();