Событие Activate и Deactivate

Событие Activate происходит, когда объект становится активным окном. А становится активным окном он может в двух случаях. Это в результате Show, когда форма становится видимой на экране и в результате получения фокуса. Событие Deactivate (Деактивизация) происходит, когда объект более не является активным окном. Эти события генерируются только при переключении между окнами одного приложения. Если вы перейдете в другую программу и вернетесь в Excel, то эти события не будут сгенерированы.

Событие QueryClose

Это событие генерируется для того, чтобы получить у пользователя разрешение на закрытие формы. В зависимости от кода возврата форма закрывается или нет.

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

If CloseMode <> 1 Then Cancel = 1

UserForm1.Caption = "Close не будет работать. Выберите меня!"

End IF

End Sub

Событие Unload

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

Событие Terminate

Данное событие происходит, когда все ссылки на экземпляр объекта удаляются из памяти с помощью присвоения всем переменным, которые ссылаются на данный объект, состояния Nothing или когда последняя ссылка на объект выходит за пределы области определения. Это событие идет вслед за Unload.

Шаг 55 - Четыре основных метода работы с формой (Load,Unload,Show,Hide)

Давайте сформулируем краткие описания и после этого посмотрим как они взаимодействуют:

Load - загрузка формы в память

Unload - выгрузка формы из памяти

Show - показ формы на экране

Hide - спрятать форму

Мы помним, что Show может сам вызвать Load, но если форма загружена, то Load не будет вызываться. Поэтому просто надо делать так:

Начало работы

Load

Конец работы

Unload

Показывать или прятать форму можно с помощью Show и Hide. Но, если Вы проводите в методе Initialize настройку переменных, то будьте уверены, что она будет происходить при загрузке в момент вызова Load.

Вот типовые коды:

Load

Load UserForm

Unload

Unload UserForm

Из формы

Unload Me

Hide

UserForm.Hide

Из формы

Me.Hide

Show

UserForm.Show


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: