2012-08-08 17 views
6

W WPF w .NET 4.0, w jaki sposób można wykryć dwukrotne kliknięcie lewym przyciskiem myszki myszy po lewej stronie przycisku myszy?Jak wykrywać podwójne kliknięcie myszy w WPF?

Z pozoru banalne zadanie.

Nie widzę sposobu określenia, który przycisk został naciśnięty w zdarzeniu MouseDoubleClick przy użyciu System.Windows.Input.MouseButtonEventArgs.

Odpowiedz

11

MouseDoubleClick podaje jako argumenty zdarzenia MouseButtonEventArgs. To ujawnia właściwość ChangedButton, która mówi, który przycisk został dwukrotnie kliknięty.

void OnMouseDoubleClick(Object sender, MouseButtonEventArgs e) 
{ 
    if (e.ChangedButton == MouseButton.Left) 
    { 
     // Left button was double clicked 
    } 
} 
3

Szukasz MouseButtonEventArgs.ChangedButton? API here.

private void MouseButtonDownHandler(object sender, MouseButtonEventArgs e) 
{ 
    Control src = e.Source as Control; 

    if (src != null) 
    { 
     switch (e.ChangedButton) 
     { 
      case MouseButton.Left: 
       src.Background = Brushes.Green; 
       break; 
      case MouseButton.Middle: 
       src.Background = Brushes.Red; 
       break; 
      case MouseButton.Right: 
       src.Background = Brushes.Yellow; 
       break; 
      case MouseButton.XButton1: 
       src.Background = Brushes.Brown; 
       break; 
      case MouseButton.XButton2: 
       src.Background = Brushes.Purple; 
       break; 
      default: 
       break; 
     } 
    } 
} 
+0

Tak. to jest to! Dzięki. – AlexPi

Powiązane problemy