Search code examples
c#.netwinformskeypress

Capturing Enter Key press on windows form not working


I have a user authentication form with username and password textboxes.There is an okay button that fires the code to validate the credentials. I want the same code to get executed when the user hits Enter key anywhere on the form. So i register for the keypress event like this

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

        }

This event is not triggered at all.What i'm i doing wrong?


Solution

  • Try setting the property keypreview to true and changing to keydown instead since KeyPress don't support e.Keycode:

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