如何知道键盘上的某个按钮被按住(例如Shift)

  • 本文关键字:例如 Shift 按钮 键盘 何知道 c# wpf
  • 更新时间 :
  • 英文 :


现在在我的程序中,我有一个按钮,用户可以点击它(进程将启动(,我想添加这样的功能-如果用户点击并按住Shift按钮,然后左键单击该按钮,它将启动另一个进程。。。

所以,最终我需要知道——如何跟踪(知道(用户点击并按住Shift按钮?

您必须检查一个名为Keyboard的静态类,并检查类似这样的修饰符:

只测试换档而不按下其他键:

if (Keyboard.Modifiers == ModifierKeys.Shift)
{
// some logic
}

要测试在忽略其他修改键的情况下是否按住shift键:

if (Keyboard.Modifiers.HasFlag(ModifierKeys.Shift))
{
// some logic
}

这个静态类驻留在System.Windows.Input命名空间中。

您可以使用KeyDown和KeyUp来检查按键是否被按下或释放,并在此基础上进一步构建:

if (Keyboard.IsKeyDown(Key.LeftShift) || Keyboard.IsKeyDown(Key.RightShift))
{
//Insert logic here, an event is probably the way to go.
}
if (Keyboard.IsKeyUp(Key.LeftShift) || Keyboard.IsKeyUp(Key.RightShift))
{
//Insert logic here, an event is probably the way to go.
}

相关内容

最新更新