现在在我的程序中,我有一个按钮,用户可以点击它(进程将启动(,我想添加这样的功能-如果用户点击并按住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.
}