我有几个文本框。我想使Enter按钮充当Tab。这样,当我进入一个文本框时,按Enter键会将我移至下一个文本框。您能否告诉我如何在不向文本框类中添加任何代码的情况下实现这种方法(如果可能,则不进行覆盖等)?

最佳答案

这是我通常使用的代码。
它必须在KeyDown事件上。

if (e.KeyData == Keys.Enter)
{
    e.SuppressKeyPress = true;
    SelectNextControl(ActiveControl, true, true, true, true);
}

更新

其他方式是发送“TAB”键!覆盖该方法使其变得更加容易:)
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    if (keyData == (Keys.Enter))
    {
        SendKeys.Send("{TAB}");
    }

    return base.ProcessCmdKey(ref msg, keyData);
}

10-07 12:54
查看更多