欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-08 22:42:29
再winform中使用ProcessCmdKey处理快捷键响应,针对单一快捷键响应没有任何问题。但是针对组合键总是无法响应,如下: protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, Keys key ......

再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;
        }

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

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

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;
        }

就可以正常响应。

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