Это событие имеет только форма.
Происходит перед закрытием формы или приложения. Если закрывается MDI форма, то это событие происходит сначала для формы контейнера, и лишь потом для дочерних форм.
Это событие происходит перед событием Unload.
В обработчик данного события передаётся два параметра:
cancel - integer - если в обработчике события присвоить переменной cancel значение True, то выгрузка формы будет отменена. Если оставить там False, то форма благополучно выгрузится.
unloadmode - константа. Содержит значение - почему происходит выгрузка формы. Может принимать:
vbFormControlMenu = 0 - юзер выбрал команду Close (Закрыть) в меню приложения (слева вверху в заголовке формы).
vbFormCode = 1 - произошёл вызов оператора Unload в коде программы.
vbAppWindows = 2 - Windows завершает работу.
vbAppTaskManager = 3 - закрытие приложения происходит через Ctr+Alt+Del.
vbFormMDIForm = 4 - дочерняя MDI форма закрывается, т.к. закрывается главная.
Замечания:
Вообще, это событие обычно применяется для проверки завершённости некоторых действий. Или также, например, здесь можно спросить юзера, действительно ли он хочет выйти из приложения, или это произошло случаянно. Следать это можно примерно так:
Private Sub Form_QueryUnload _
(Cancel As Integer, _
UnloadMode As Integer)
Dim rez As VbMsgBoxResult
rez = MsgBox("Вы действительно" & _
" хотите выйти?", _
vbQuestion + vbYesNo)
If rez = vbNo Then Cancel = 1
End Sub
ВСЕ СОБЫТИЯ VB >>