在某些软件的交互中,直接点击按钮和按住某个按键后点击按钮的效果是不同的。比如要对 iPhone 进行 DFU 刷机,就必须按下“Shift”键之后,再点击“恢复”按钮。
在 WPF 软件开发中可以使用 Keyboard 类实现类似功能,Keyboard.IsKeyDown 方法可以检测出 Control, Shift, Alt 是否被按下。.
检测 Shift 是否被按下
if (Keyboard.IsKeyDown(Key.LeftShift) || Keyboard.IsKeyDown(Key.RightShift))
{ /* Your code */ }
检测 Control 是否被按下
if (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl))
{ /* Your code */ }
检测 Alt 是否被按下
if (Keyboard.IsKeyDown(Key.LeftAlt) || Keyboard.IsKeyDown(Key.RightAlt))
{ /* Your code */ }
参考
Keyboard 类 :https://learn.microsoft.com/en-us/dotnet/api/system.windows.input.keyboard?redirectedfrom=MSDN&view=windowsdesktop-7.0