我如何捕获多个键?

时间:2013-08-11 06:29:33

标签: c# silverlight-5.0

我需要在同一时间捕获多个键,如“Shift + Insert”,我可以使用System.Windows.Input.KeyEventArgs来使用它。我写了一些代码,但它不起作用:

 private void Grid1KeyUp(object sender, KeyEventArgs e)
    {
        if (e.Key == System.Windows.Input.Key.Shift && e.Key == System.Windows.Input.Key.Insert)
        {
            //do something
        }
    }

有人可以帮助我吗?

注意:在silverlight项目中,您不能使用“System.Windows.Forms”。

1 个答案:

答案 0 :(得分:4)

而是尝试像

这样的东西
if (e.Shift && e.Key == System.Windows.Input.Key.Insert)
{
    //do something
}

查看KeyEventArgs Class

  

KeyEventArgs,指定用户按下的键以及是否   任何修饰键( CTRL ALT SHIFT )都被按下了   时间,与每个 KeyDown KeyUp 事件一起传递。

您还可以查看KeyEventArgs.Modifiers Property

  

获取 KeyDown KeyUp 事件的修饰符标志。旗帜   指示按下 CTRL SHIFT ALT 键的组合。