覆盖ProcessCmdKey C#

时间:2012-03-27 01:46:29

标签: c# winforms

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

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

但是当我使用上面的代码时,我无法在TextBox中编写。有解决方案吗?

2 个答案:

答案 0 :(得分:11)

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

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

    return true;
}

答案 1 :(得分:0)

如果您返回true,则表示输入已处理,并且不会传递给下一个控件,返回false并且它应该按预期工作。

Link