如何检测按钮上的ENTER键

时间:2015-03-03 17:39:22

标签: c# winforms

我正在使用此代码。 panelButtons []是一个按钮数组。

        for (i = 0; i <= 15; i++)
        {
            int temp = i;
            panelButtons[temp].KeyPress += new KeyPressEventHandler(checkKeyPress);
        }
    }
    private void checkKeyPress(object a, KeyPressEventArgs b)
    {
        if(b.KeyChar==(char)Keys.Enter || b.KeyChar==(char)Keys.Return)
        {
            DialogResult result = MessageBox.Show("Enter");
        }
    }

问题在于,它没有检测到输入密钥。我在网上搜索了很多,但我得到的是如何检测文本框上的ENTER键。这种方法和许多其他类似的方法(如KeyDown的想法)都不起作用。

1 个答案:

答案 0 :(得分:2)

处理该Button的PreviewKeyDown-Event并将PreviewKeyDownEventArgs.IsInputKey设置为True

Private Sub Button1_PreviewKeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles Button1.PreviewKeyDown
    If e.KeyCode = Keys.Enter Then e.IsInputKey = True
End Sub