Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何计算c语言中的键组合#_C#_Key - Fatal编程技术网

C# 如何计算c语言中的键组合#

C# 如何计算c语言中的键组合#,c#,key,C#,Key,我必须执行以下代码才能按下捕获键: protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { const int WM_KEYDOWN = 0x100; const int WM_SYSKEYDOWN = 0x104; if ((msg.Msg == WM_KEYDOWN) || (msg.Msg == WM_SYSKEYDOWN)) {

我必须执行以下代码才能按下
捕获键:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    {
        const int WM_KEYDOWN = 0x100;
        const int WM_SYSKEYDOWN = 0x104;

        if ((msg.Msg == WM_KEYDOWN) || (msg.Msg == WM_SYSKEYDOWN))
        {
            int x;
            switch (keyData)
            {
                case (Keys)131149: //case Keys.Control | Keys.M:
                    x = 1;
                    break;
                case Keys.Alt | Keys.Z:
                    x = 2;
                    break;
                case Keys.Shift | Keys.A:
                    x = 3;
                    break;
                case (Keys)196685: //Keys.Control | Keys.Shift | Keys.M:
                    x = 1;
                    break;
            }
        }

        return base.ProcessCmdKey(ref msg, keyData);
    }
您可以看到组合键Ctrl+Shift+M==
196685.

我有没有办法计算代码中的其他组合

例如:Alt+F==?等等。

控制台写入((int)(Keys.Alt | Keys.F))

或更基本的:


10000000000000000或1000110=1000000000001000110

也许你的意思是
大小写键.Alt | Keys.F:
?(另一方面,您是否有特定的原因试图找到组合计算结果的数值?)?例如,如果我有数字196685,我怎么知道它的意思是Keys.Control | Keys.Shift | Keys.M?196685和Keys.Control=true或false控件被设置找到它:(char)196685 77'M'(Keys)(196685-(char)196685)Shift | Control