Обычный способ сделать это - установить Form
s AcceptButton
на кнопку, которую вы хотите «нажать». Вы можете сделать это либо в конструкторе VS, либо в коде, и AcceptButton
можно изменить в любое время.
Это может или не может быть применимо к вашей ситуации, но я использовал это вместе с GotFocus
событиями для различных TextBox
в моей форме, чтобы включить различное поведение в зависимости от того, где пользователь нажал Enter. Например:
void TextBox1_GotFocus(object sender, EventArgs e)
{
this.AcceptButton = ProcessTextBox1;
}
void TextBox2_GotFocus(object sender, EventArgs e)
{
this.AcceptButton = ProcessTextBox2;
}
При использовании этого метода следует соблюдать осторожность: вы не оставляете AcceptButton
установленным на ProcessTextBox1
, когда TextBox3
становится сфокусированным. Я бы порекомендовал использовать либо событие LostFocus
на TextBox
es, которое устанавливает AcceptButton
, либо создать метод GotFocus
, который используется всеми элементами управления, которые не используют определенный вызов AcceptButton
.