C# WPF MouseLeftButtonDown事件处理程序中的Ctrl键按下条件
如何向WPFC# WPF MouseLeftButtonDown事件处理程序中的Ctrl键按下条件,c#,wpf,event-handling,keyboard,C#,Wpf,Event Handling,Keyboard,如何向WPFMouseLeftButtonDown事件处理程序添加特定键盘键的附加条件 例如Ctrl+key 如果只想检测修改器,还可以使用: if (Keyboard.Modifiers == ModifierKeys.Control) {} if (Keyboard.Modifiers == ModifierKeys.Shift) {} 等等。更多。在.NET 4.0中,您可以使用: Keyboard.Modifiers.HasFlag(ModifierKeys.Control) 这个解
MouseLeftButtonDown
事件处理程序添加特定键盘键的附加条件
例如Ctrl+key
如果只想检测修改器,还可以使用:
if (Keyboard.Modifiers == ModifierKeys.Control) {}
if (Keyboard.Modifiers == ModifierKeys.Shift) {}
等等。更多。在.NET 4.0中,您可以使用:
Keyboard.Modifiers.HasFlag(ModifierKeys.Control)
这个解决方案很简单,但不要忘记,
ModifierKeys
是一个标志枚举。因此,正确地检查ctrl键是if((Keyboard.Modifiers&ModifierKeys.Control)==ModifierKeys.Control){}
@mt_serg您可以通过调用if(Keyboard.Modifiers.hasblag(ModifierKeys.Control)){}
来简化操作。您不希望热路径上出现HasFlag()
。在.NETFramework上,它在每次运行时都会产生垃圾。看见
if (Keyboard.Modifiers == ModifierKeys.Control) {}
if (Keyboard.Modifiers == ModifierKeys.Shift) {}
Keyboard.Modifiers.HasFlag(ModifierKeys.Control)