Попробуйте использовать Form.GotFocus (унаследовано от контроля) ..
как то так.
private void Form1_Load(object sender, EventArgs e)
{
this.GotFocus += new EventHandler(Form1_gotFocus);
this.Focus();
}
private void Form1_gotFocus(object sender, EventArgs e)
{
// You will need to Switch focus from form at the end of this function,
//to make sure it doesnt keep Firing.
}
Согласно MSDN, происходит следующее:
При изменении фокуса с помощью клавиатуры (TAB, SHIFT + TAB и т. Д.), Путем вызова методов Select или SelectNextControl, или путем установки для свойства ContainerControl .. ::. ActiveControl текущего форма , события фокуса происходят в следующем порядке:
- Введите
- GotFocus
- Leave
- Пользователи
- Утвержденные
- LostFocus