Control.ModifierKeys不会在Return / Enter键上触发

时间:2011-09-14 19:01:58

标签: c# winforms key detect

我正在尝试检测用户在Winforms文本框中何时按下Return键,但当我使用Keys.Enter和/或Keys.Return 时,下面的控制语句都不能正常工作。当我检测到Alt和Shift等其他键时,它确实有效。我错过了什么?他们只有模糊的领导才是我在MacBook键盘上测试它(运行Windows),但这些键肯定是100%正确映射的吗?

private void txtInput_KeyUp(object sender, KeyEventArgs e)
{
    if ((Control.ModifierKeys == Keys.Enter))
    {
        btnOK_Click(null, null);
    }

    if ((Control.ModifierKeys & Keys.Return) != 0)
    {
        btnOK_Click(null, null);
    }
}

1 个答案:

答案 0 :(得分:2)

尝试使用:

e.KeyCode == Keys.Enter

Control.ModifierKeys仅在按下ctrl,alt,shift时才会捕捉!

如果您只需按下'输入'按下任何按键使用按下

e.KeyData == Keys.Enter