无法在WinForms文本框中捕获Enter键

Mic*_*mes 9 c# visual-studio-2008 winforms

当用户在文本框中输入数字时,我希望他们能够按Enter键并模拟按下表单上其他位置的"更新"按钮.我已经在网上找了好几个地方,这似乎是我想要的代码,但它不起作用.当数据被放入文本框并按下Enter时,我得到的只是一个ding.我究竟做错了什么?(Visual Studio 2008)

private void tbxMod_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        btnMod.PerformClick();
    }
}
Run Code Online (Sandbox Code Playgroud)

Tho*_*que 9

你确定没有按下按钮吗?我刚做了一个测试,它对我来说很好.这是防止"叮"声的方法:

private void tbxMod_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        btnMod.PerformClick();
        e.SuppressKeyPress = true;
    }
}
Run Code Online (Sandbox Code Playgroud)


Mar*_*ell 5

一些想法:

  • 表单上是否有Form可能正在窃取的接受按钮(设置在)上ret
  • 文本框是否启用了验证并且失败了?试着把它关掉
  • 有没有启用密钥预览的东西?