C# winform中组合键奇怪不响应问题


再winform中使用ProcessCmdKey处理快捷键响应,针对单一快捷键响应没有任何问题。但是针对组合键总是无法响应,如下:

protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, Keys keyData)
        {
            if (keyData == (Keys.Control|Keys.C ))
            {
                MessageBox.Show("Ctrl+C");
                return true;
            }
            return false;
        }

找了不少解释,也没找到原因。

后来在StackOverflow上看到一个人说把顺序调换一下,亦即:

protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, Keys keyData)
        {
            if (keyData == (Keys.C|Keys.Control))
            {
                MessageBox.Show("Ctrl+C");
                return true;
            }
            return false;
        }

就可以正常响应。

记录一下,希望其他人别踩坑了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM