C# 如何捕获多个密钥?

C# 如何捕获多个密钥?,c#,silverlight-5.0,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.Inser

我需要同时捕获多个键,如“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”。

请尝试以下操作

if (e.Shift && e.Key == System.Windows.Input.Key.Insert)
{
    //do something
}
看看

KeyEventArgs,指定用户按下的键以及 同时按下任何修改键(CTRL、ALT和SHIFT) 时间随每个KeyDown或KeyUp事件一起传递

你也可以看看

获取KeyDown或KeyUp事件的修改器标志。旗帜 指示按下了CTRL、SHIFT和ALT键的组合


不如试试像这样的东西

if (e.Shift && e.Key == System.Windows.Input.Key.Insert)
{
    //do something
}
看看

KeyEventArgs,指定用户按下的键以及 同时按下任何修改键(CTRL、ALT和SHIFT) 时间随每个KeyDown或KeyUp事件一起传递

你也可以看看

获取KeyDown或KeyUp事件的修改器标志。旗帜 指示按下了CTRL、SHIFT和ALT键的组合


但它不在windows窗体project中,而是在silverlight project中。这些参数仅在system.windows.input.keyevent args(对于silverlight/wpf)中以等效的形式存在。这是问题的一部分,但它不在windows窗体project中,也不在silverlight project中。这些不在system.windows.input.keyevent args(对于silverlight/wpf)中,仅在等效窗体中存在。这是问题的一部分,可能重复“是”,但当我按下shift+insert时仍然存在问题。对于Keyboard.Modifiers,它返回“无”。这是在调试模式下发生的谢谢您的回答。这是正确的。可能是重复的是,但仍然有一个问题,当我按下shift+插入它返回键盘没有。修改器。这发生在调试模式谢谢你的回答。这是正确的。