c# - 捕获 Windows 窗体上的 Enter 键按下不起作用

标签 c# .net winforms keypress

我有一个带有用户名和密码文本框的用户身份验证表单。有一个okay按钮可以触发代码来验证凭据。 我希望当用户在表单上的任意位置按下 Enter 键时执行相同的代码。 所以我像这样注册按键事件

 this.KeyPress += UserLogin_KeyPress;
 private void UserLogin_KeyPress(object sender, KeyPressEventArgs e)
        {
             if (e.KeyChar == (char)13)
                {
                MessageBox.Show("enter");
                }

        }

这个事件根本没有被触发。我做错了什么?

最佳答案

尝试将属性 keypreview 设置为 true 并更改为 keydown,因为 KeyPress 不支持 e.Keycode:

private void UserLogin_KeyPress(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            MessageBox.Show("Enter");
        }
    }

关于c# - 捕获 Windows 窗体上的 Enter 键按下不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52306238/

相关文章:

c# - 在多行图像上绘图/书写-EmguCV(OpenCV)无法识别新行字符

c# - HTML Firefox 表格对齐问题

c# - WebClient AsyncUpload 进度百分比始终返回 50%

c# - 检测应用程序是否在系统帐户下运行?

winforms - Windows窗体中标签控件的换行符问题

c# - 当文本框值作为事件更改时自动按输入 C#

C# 重写 CheckedListBox

c# - VS2010 中的 winUserControl - 属性在设计器中不可见

c# - DynamoDB 自动转换特殊字符

C# 动画卡住程序