Студопедия

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

КАТЕГОРИИ:

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






Подія 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.004 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал