捕获Enter键按下Windows窗体不起作用

问题描述 投票:0回答:3

我有一个用户身份验证表单,其中包含用户名和密码文本框。有一个okay按钮,用于触发代码以验证凭据。当用户在表单上的任何位置点击Enter键时,我希望执行相同的代码。所以我注册了这样的按键事件

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

        }

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

c# .net winforms keypress
3个回答
1
投票

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

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

0
投票

试试这个:

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

0
投票

它只是看着表格。表格上的控件也需要接线。

© www.soinside.com 2019 - 2024. All rights reserved.