нажмите клавишу Enter вместо нажатия на кнопку в c#



Как вы можете понять из названия, что как при нажатии клавиши Enter кнопка автоматически работает, как написать код в c# для нажатия клавиши Enter вместо нажатия на кнопку?
Спасибо!!

1191   3  
c#

3 ответов:

Это WinForms? Если это так, вы можете установить AcceptButton формы, чтобы быть кнопкой, о которой идет речь. При этом нажатие клавиши Enter будет вести себя точно так же, как нажатие кнопки мышью, но этот эффект будет иметь место только в том случае, если в данный момент сфокусированный элемент не является чем-то еще, что также захватит нажатие клавиши.

Я пытался решить ту же самую проблему. Когда кнопка фокусировалась, нажатие клавиши enter не приводило к срабатыванию события KeyDown или KeyPress. Однако событие KeyUp сработало. Проблема решена.

  private void CmdNoP_KeyUp(object sender, KeyEventArgs e) {
     // I do not understand why this works
     if (e.KeyCode == Keys.Return) {
        cmdNoP_MouseClick(sender, null);
     }
  }

Я считаю, что [Пробел] - Это клавиша по умолчанию, которая "нажимает" активную кнопку (или флажок и так далее). Вы всегда можете написать метод для таких событий, как OnKeyDown, OnKeyUp или что-то подобное. В этих случаях вы можете проверить нажатую клавишу и сделать, что делает кнопка нажатия, если эта клавиша [enter].

Comments

    Ничего не найдено.