Жизненный цикл событий WinForms

Как и в жизненном цикле страницы в веб-приложениях, каков жизненный цикл событий для WinForms, особенно между Form и User Controls?

Ответы

Ответ 1

Согласно MSDN:

Запуск события основной формы поднимаются в следующем порядке:

Control.HandleCreated
Control.BindingContextChanged
Form.Load
Control.VisibleChanged
Form.Activated
Form.Shown

Выключение событий основной формы поднимаются в следующем порядке:

Form.Closing
Form.FormClosing
Form.Closed
Form.FormClosed
Form.Deactivate
Application.ApplicationExit *

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

Ответ 2

FWIW, вы должны быть осторожны, чтобы сделать предположения о жизненном цикле некоторых элементов управления контейнерами. Например, в элементе управления вкладками я полагаю, что элементы управления на вкладке второго и последующих вкладок загружаются с лени. Элементы управления на этих вкладках не могут быть инициализированы/инициализированы до первого посещения вкладки, поэтому код уровня уровня не должен предполагать, что все элементы управления на всех вкладках находятся на месте после завершения загрузки формы.