C# 如何检测“回车键打开”按钮

C# 如何检测“回车键打开”按钮,c#,winforms,C#,Winforms,我正在使用这个代码。panelButtons[]是一组按钮 for (i = 0; i <= 15; i++) { int temp = i; panelButtons[temp].KeyPress += new KeyPressEventHandler(checkKeyPress); } } private void checkKeyPress(object a, KeyPre

我正在使用这个代码。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");
        }
    }

for(i=0;i处理该按钮的PreviewKeyDown事件,并将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

我是否正确检测到任何键?请尝试。单击并查看当按下enter键时是否触发。问题与文本框中的问题相同。按钮本身处理要按下的“enter”键。因此,您必须避免这种行为。我想要的是防止enter或空格键触发panelButtons[temp]事件,这样它只能在鼠标单击时触发。是的..其他按钮可以正常工作。只有ENTER不能。您是否尝试在方法上放置断点并检查代码是否被调用?也就是说:事件处理程序是否不正确,或者它是否连线都没有?您没有包括
的初始
位置>例如,从调用循环-是否可能根本没有调用它?我更新了我的答案:首先我说设置为false,更正是将属性设置为true非常感谢#swe。真是太棒了。