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

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

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

根据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"); } } 

问候,迈克