从鼠标事件中获取shift / ctrl / alt状态?

时间:2009-08-14 00:11:27

标签: c# wpf mouseevent

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

2 个答案:

答案 0 :(得分:19)

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

答案 1 :(得分:18)

根据Andy的回答,你使用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");
    }
}

此致 麦克