C# UserControl keyData Работает только после первого нажатия кнопки в формах windows - PullRequest
0 голосов
/ 17 апреля 2020

Кнопки работают нормально, как и ожидалось, щелкая их.

Проблема: Когда UserControl загружается в первый раз, и я не нажимал ни одной кнопки в нем, Keydata не за работой. После нажатия кнопки вручную привязки клавиш работают как положено. Поэтому очевидно, что я хотел бы позволить пользователю использовать связку клавиш перед любым нажатием кнопки: (Я уже пытался установить фокус на различных элементах, таких как сама кнопка)

 protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {

            switch (keyData)
            {
                case Keys.Enter:
                    button1.PerformClick();
                    return true;
                case Keys.Escape:
                    button2.PerformClick();
                    return true;
 }
      return base.ProcessCmdKey(ref msg, keyData);
        }

Я хотел бы позволить пользователю использовать ключевые данные перед нажатием любой кнопки:

1 Ответ

0 голосов
/ 20 апреля 2020

Just Focused usercontrol, с главной кнопки формы

private void label1_Click(object sender, EventArgs e)
{
usercontrol11.BringToFront();
usercontrol11.Focus();
}
...