WPF中如何检测鼠标左键双击?

6

在.NET 4.0 WPF中,如何检测左键双击?

看似微不足道的任务。

我没有找到在MouseDoubleClick事件中使用System.Windows.Input.MouseButtonEventArgs确定按下的是哪个按钮的方法。

2个回答

18

MouseDoubleClick 传递 MouseButtonEventArgs 作为事件参数。这会暴露出ChangedButton 属性,它会告诉您双击了哪个按钮。

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

4

您是否在寻找 MouseButtonEventArgs.ChangedButton?API请参考此处

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;
        }
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接