Иллюстрированный самоучитель по Access 2002


         

Последовательность событий в формах


При открытии формы происходит следующая цепочка событий:

Открытие => Загрузка => Изменение размера => Включение

=>

Текущая запись

=>

Вход => Получение фокуса

События

Вход

(Enter) и

Получение фокуса

(GetFocus) возникают для первого элемента в первой записи. Если форма не имеет видимых или доступных элементов управления, то последовательность событий несколько иная:

Открытие => Загрузка => Изменение размера => Включение => Получение фокуса => Текущая запись

В этом случае событие

Получение фокуса

(GetFocus) относится к форме. При закрытии формы последовательность событий следующая:

Выход => Потеря фокуса => Выгрузка => Отключение => Закрытие

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

Выгрузка => Потеря фокуса (ф) => Отключение => Закрытие

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

Потеря фокуса (э1) => Отключение (ф!) => Включение

(ф2)

=> Вход

(э2) => Получение фокуса (э2)

Если из открытой формы открывают другую форму, то сначала в открываемой форме происходят события

Открытие

(Open),

Загрузка

(Load) и

Изменение размера

(Resize), и только после этого в первой форме произойдет событие

Отключение

(Deactivate):

Открытие

(ф2) =>

Загрузка

(ф2) =>

Изменение размера

(ф2) =>

Отключение (ф1) => Включение

(ф2)

=>

Текущая запись

(ф2)

Это дает возможность проконтролировать открытие второй формы. Кроме того, событие

Включение

(Activate) происходит каждый раз, когда форма получает фокус, а события

Открытие

(Open) и

Загрузка

(Load) не происходят, если форма уже открыта, даже если переход в эту форму выполняется с помощью макрокоманды ОткрытьФорму (OpenForm). Событие

Отключение

(Deactivate) для формы не происходит, если фокус переносится в диалоговое окно.




Содержание  Назад  Вперед