首页 > 解决方案 > UWP - 鼠标中键单击事​​件处理程序

问题描述

我有一个按钮控件,当用鼠标滚轮单击时,应该做一些事情。

我从 WPF 尝试过这个,但我认为它在 UWP 中有所不同。

private void Button5_Click(object sender, RoutedEventArgs e)
{
    if (e.ChangedButton == MouseButton.Middle)
    {
        button6.Content = "Hi";
    }
}

标签: c#eventsuwp

解决方案


您可以PointerPressedButton.

用法:

private void Button5_PointerPressed(object sender, PointerRoutedEventArgs e)
{
    var pointer = e.GetCurrentPoint(sender as Button);
    if (pointer.Properties.IsMiddleButtonPressed)
    {
        button6.Content = "Hello";
    }
}

更新

在 UIElement 上添加PointerReleased事件处理程序,但不是Button,我认为 Button 的 Click 事件会覆盖鼠标中键向上事件。

用法:

private void Grid_PointerReleased(object sender, PointerRoutedEventArgs e)
{
    var pointer = e.GetCurrentPoint(sender as UIElement);
    if (pointer.Properties.PointerUpdateKind == Windows.UI.Input.PointerUpdateKind.MiddleButtonReleased)
    {
        // Todo
    }
}

此致。


推荐阅读