Жизненный цикл событий 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, вы должны быть осторожны, чтобы сделать предположения о жизненном цикле некоторых элементов управления контейнерами. Например, в элементе управления вкладками я полагаю, что элементы управления на вкладке второго и последующих вкладок загружаются с лени. Элементы управления на этих вкладках не могут быть инициализированы/инициализированы до первого посещения вкладки, поэтому код уровня уровня не должен предполагать, что все элементы управления на всех вкладках находятся на месте после завершения загрузки формы.