C#KeyDown事件多字符加上ControlKey

Bad*_*dor 6 c# controls keydown

我想识别我的Control的按键.为此,我使用KeyDown事件.我想要检测的击键类型是CTRL + A或CTRL + C等等.(所以多功能键的组合)

现在我已经恢复了KeyEventArgs并找到了密钥枚举.(一切正常,只需使用|和&组合并找到正确的键)示例可以是Shift + A,然后KeyData枚举的值为:ShiftKey | 转移| 一个

当我按下控制键尝试它(所以控制+ A)我得到131137作为响应?而且我不知道为什么我没有得到类似ControlKey的东西 控制| A(或类似的东西)

我已经认识到我是否尝试使用A ist 131137与B ist 131138与C ist 131139等等...所以我认为有可能计算密钥但我认为应该有一个更好的解决方案然后只是这样的事情?

131137 - 131072 = 65(A)

我是对的,还是这是预先解决的解决方案,还是我想念一些基本的?

最好的祝福

小智 7

您可以使用KeyEventArgs对象中的属性获取Ctrl,Shift等等

http://msdn.microsoft.com/en-us/library/system.windows.forms.keyeventargs_properties(v=vs.90).aspx

void Control_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Control && e.KeyCode == Keys.F4)
    {
        // Be happy
    }
}
Run Code Online (Sandbox Code Playgroud)