15

在我的WPF应用程序中,如何获取鼠标事件处理程序中的 和 键shiftctrl状态?alt我似乎记得MFC您可以从鼠标事件中获取该信息。

4

2 回答 2

20

假设您仍在鼠标事件处理程序中,您可以检查Keyboard.Modifiers的值。我认为无论如何都无法从事件本身获取修饰符信息,因此您必须直接询问键盘。

于 2009-08-14T00:25:03.227 回答
19

根据安迪的回答,您使用 Keyboard.Modifiers。我想我会发布一个小例子

在您的事件处理程序中这样的事情应该可以工作:

private void MyExampleButton_Click(object sender, RoutedEventArgs e)
{
    if ((Keyboard.Modifiers & ModifierKeys.Control) > 0) {
        System.Diagnostics.Debug.WriteLine("Control is pressed");
    } else {
        System.Diagnostics.Debug.WriteLine("Control is NOT pressed");
    }
}

问候,迈克

于 2009-08-14T01:28:10.010 回答