Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Событие Activate






Событие Activate отчасти напоминает рассматриваемое ниже событие Load. Существует еще пара событий, с которыми его иногда путают, — Initialize и GotFocus. Вы можете подумать, что активизация и инициализация формы — одно и то же, но на самом деле это не так. Форма обычно активизируется после инициализации, и лишь после этого ей передается фокус.

Между этими событиями существуют достаточно тонкие отличия, причем главное из них — порядок, в котором события происходят в приложении. Этот порядок выглядит так:

Initialize. Событие происходит во время конфигурации и до загрузки формы.

Load. Событие происходит после инициализации формы, но до ее отображения на экране. Добавляя код в процедуру события Load, вы можете настроить внешний вид или поведение формы.

Activate. Событие Activate происходит после загрузки формы в память, но до того, как форма станет активной.

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

 

После открытия формы из перечисленных событий могут произойти лишь GotFocus или Activate, хотя в отдельных, очень специфических, случаях может произойти и событие Initialize.

Оно происходит в тот момент, когда Visual Basic впервые узнает о существовании формы. В режиме выполнения это случается сразу же после команды Run > Start. За ним следует событие Load - оно соответствует моменту, когда Visual Basic загружает форму с диска или из дискового кэша в памяти. После загрузки формы и передачи ей фокуса (иначе говоря, при активизации формы) происходит событие Activate. Через считанные миллисекунды после него следует событие GotFocus.

 

Тем не менее последнее может произойти лишь в том случае, если на форме нет ни одного видимого элемента. Если же на форме присутствует хотя бы один видимый элемент, то фокус получит он, а событие Got Focus формы будет пропущено — вместо него будет вызвано событие Got Focus элемента. Следовательно, в нормальной ситуации при запуске приложения вызывается событие Load первой отображаемой формы, за которым следует Activate. Разумеется, приложение может иметь и другие окна. Когда пользователь или программа снова переключится в первое окно, снова будет вызвано событие Activate, но на этот раз без Load. Впрочем, событие Load все же происходит, если форма была выгружена во время выполнения программы.

Подведем итоги: при запуске приложения происходит событие Load, а за ним следует событие Activate. Когда фокус переходит к другой форме и снова возвращается к первой (и если она не была предварительно выгружена), снова происходит событие Activate, но уже без предварительного события Load.

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.01 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал