Каково различие между Формой формы. Загрузка, Форма. Показанный и Форма. Активированные события? Каков порядок, в который они уволены?
См. Жизненный цикл событий Windows Forms :
Событие Load
срабатывает при инициализации формы, после создания ее дескриптора, но до ее отображения.
Событие Shown
срабатывает после первого раза, когда форма становится видимой, когда вы вызываете form.Show()
(или form.Visible = true
).
Если вы скроете форму, а затем снова покажете ее, Shown
сработает снова. (Но Load
не сработает)
Событие Activate
срабатывает, когда пользователь переключается на вашу форму.
Если пользователь переключится на другую программу (или форму), а затем снова перейдет на вашу форму, Activate
сработает снова.
Порядок будет такой: Form. Load
, которая инициализирует форму и вызывает элементы управления, Form.Shown
, которая отмечает фрейм как видимый (даже в C++ это делается после создания формы), и Form.Activated
, которая дает форуму фокус.
Кроме того, событие Form.Activate
может запускаться несколько раз. Например, если вы открываете окно сообщения из формы, и когда вы нажимаете любую кнопку окна сообщения и возвращаетесь обратно к форме, запускается Form.Activate
. То же самое верно и для любого другого диалогового окна, такого как FileOpenDialog
.