Событие WinForms для фокуса TextBox?

Я хочу добавить даже к TextBox, если он имеет фокус. Я знаю, что могу сделать это с помощью простого textbox1.Focus и проверить значение bool... но я не хочу этого делать.

Вот как я хотел бы это сделать:

this.tGID.Focus += new System.EventHandler(this.tGID_Focus);

Я не уверен, что EventHandler - правильный способ сделать это, но я знаю, что это не работает.

Ответ 1

Вы ищете событие GotFocus. Также есть событие LostFocus.

textBox1.GotFocus += textBox1_GotFocus;

Ответ 2

this.tGID.GotFocus += OnFocus;
this.tGID.LostFocus += OnDefocus;

private void OnFocus(object sender, EventArgs e)
{
   MessageBox.Show("Got focus.");
}

private void OnDefocus(object sender, EventArgs e)
{
    MessageBox.Show("Lost focus.");
}

Это должно делать то, что вы хотите, и в этой статье описываются различные события, которые вызывают и в каком порядке. Возможно, вы увидите лучшее событие.

Ответ 3

Я проголосовал за комментарий Ханса Пассана, но на самом деле это должен быть ответ. Я работаю над пользовательским интерфейсом Telerik в среде 3.5.NET, и в RadTextBoxControl нет события GotFocus. Мне пришлось использовать событие Enter.

textBox1.Enter += textBox1_Enter;