В отношении этой страницы MSDN (или любой связанной страницы по этому вопросу) говорится, что:
Когда вы меняете фокус с помощью клавиатуры, события фокуса происходят в в следующем порядке:
- Enter
- GotFocus
- Оставьте
- Validating
- Подтверждено
- LostFocus
Однако, когда вы используете мышь для создания событий, порядок меняется!
Когда вы меняете фокус с помощью мыши или вызывая метод Фокус, события фокуса происходят в следующем порядке:
- Enter
- GotFocus
- LostFocus
- Оставьте
- Validating
- Подтверждено
Разве это не приведет к тому, что цепочка событий будет совершенно иной? Моя интерпретация здесь состоит в том, что цепочка клавиатуры обеспечивает все в рабочем состоянии, а затем вызывает событие LostFocus
. Тем не менее, события мыши, кажется, поднимают его до проверки по какой-то причине. Почему это?