Порядок событий 'Form. Load', 'Форма. Показанная' и 'Форма. Активированный' в Windows Forms

Каково различие между Формой формы. Загрузка, Форма. Показанный и Форма. Активированные события? Каков порядок, в который они уволены?

49
задан Peter Mortensen 9 January 2013 в 01:55
поделиться

4 ответа

См. Жизненный цикл событий Windows Forms :

  • Перемещение: это событие происходит при перемещении формы.Хотя по умолчанию при создании и запуске формы пользователь не перемещает ее, но это событие запускается до того, как произойдет событие Load.
  • Загрузка: это событие происходит перед первым отображением формы.
  • VisibleChanged: это событие происходит при изменении значения свойства Visible.
  • Активировано: это событие происходит, когда форма активируется в коде или пользователем.
  • Показано: это событие происходит всякий раз, когда форма отображается впервые.
  • Paint: это событие происходит при перерисовке элемента управления.
  • Деактивировать: это событие происходит, когда форма теряет фокус и не является активной формой.
  • Закрытие: это событие происходит при закрытии формы.
  • Closed: это событие происходит при закрытии формы.
69
ответ дан 7 November 2019 в 11:31
поделиться
  • Событие Load срабатывает при инициализации формы, после создания ее дескриптора, но до ее отображения.

  • Событие Shown срабатывает после первого раза, когда форма становится видимой, когда вы вызываете form.Show() (или form.Visible = true).
    Если вы скроете форму, а затем снова покажете ее, Shown сработает снова. (Но Load не сработает)

  • Событие Activate срабатывает, когда пользователь переключается на вашу форму.
    Если пользователь переключится на другую программу (или форму), а затем снова перейдет на вашу форму, Activate сработает снова.

23
ответ дан 7 November 2019 в 11:31
поделиться

Порядок будет такой: Form. Load, которая инициализирует форму и вызывает элементы управления, Form.Shown, которая отмечает фрейм как видимый (даже в C++ это делается после создания формы), и Form.Activated, которая дает форуму фокус.

3
ответ дан 7 November 2019 в 11:31
поделиться

Кроме того, событие Form.Activate может запускаться несколько раз. Например, если вы открываете окно сообщения из формы, и когда вы нажимаете любую кнопку окна сообщения и возвращаетесь обратно к форме, запускается Form.Activate . То же самое верно и для любого другого диалогового окна, такого как FileOpenDialog .

13
ответ дан 7 November 2019 в 11:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: