Когда вы получаете событие изменения текста для textBox, установите AcceptButton равным «Поиск»:
private void textBox1_TextChanged(object sender, EventArgs e)
{
this.AcceptButton = SearchButton;
}
Возможно, здесь будет больше кода, проверяющего длину строки и т. Д.
Затем, выполнив поиск и заполнив DataGridView, вы можете установить AcceptButton на «ОК».
private void dataGridView1_DataMemberChanged(object sender, EventArgs e)
{
this.AcceptButton = OKButton;
}
Хотя вы, вероятно, не захотите использовать это событие.
«Отмена» - это всегда кнопка «Отмена».
РЕДАКТИРОВАТЬ: ОК для части 2, вы хотите следующий код:
private void SearchButton_Click(object sender, EventArgs e)
{
dataGridView1.Focus();
}
Это сделает его активным, как только будет нажата кнопка поиска, но вы, вероятно, захотите сделать это, когда заполнен DataGridView - на случай, если поиск не дал результатов.