Нажатие клавиши Enter при нажатии окна не работает - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть форма аутентификации пользователя с текстовыми полями имени пользователя и пароля. Есть кнопка okay, которая запускает код для проверки учетных данных. Я хочу, чтобы тот же код выполнялся, когда пользователь нажимает клавишу Enter в любом месте формы. Поэтому я регистрируюсь на событие нажатия клавиши, как это

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

        }

Это событие вообще не вызвано. Что я делаю не так?

Ответы [ 3 ]

0 голосов
/ 13 сентября 2018

Это только смотрит на форму. Элементы управления в форме также должны быть подключены.

0 голосов
/ 13 сентября 2018

Попробуйте установить для свойства keypreview значение true и изменить вместо него keydown, поскольку KeyPress не поддерживает e.Keycode:

private void UserLogin_KeyPress(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            MessageBox.Show("Enter");
        }
    }
0 голосов
/ 13 сентября 2018

Попробуйте это:

private void UserLogin_KeyPress(object sender, KeyPressEventArgs e)
{
   if (e.KeyCode == Keys.Enter)
   {
      MessageBox.Show("enter");
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...