C# 重写进程CMDC键#

C# 重写进程CMDC键#,c#,winforms,C#,Winforms,我有覆盖TextBox ProcessCmdKey方法的代码: protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { switch (keyData) { case: //something to do etc etc. } return true; } 但是当我使用上面的代码时,我不能在文本框中写。是否有解决方案?如果返回true,则表示输入已被处理,不会传

我有覆盖TextBox ProcessCmdKey方法的代码:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    switch (keyData)
    {
        case: //something to do etc etc.
    }
    return true;
}

但是当我使用上面的代码时,我不能在文本框中写。是否有解决方案?

如果返回
true
,则表示输入已被处理,不会传递到下一个控件,返回
false
,它将按预期工作


处理完所有内容后,将其传递给基本控件:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    switch (keyData)
    {
        case /* whatever */:
        // ...
        default:
            return base.ProcessCmdKey(ref msg, keyData);
    }

    return true;
}

是的,这比我的答案要好,我们应该总是在
覆盖中默认调用
base
的方法