如果需要在窗口关闭事件中进行操作,那么肯定就会用到queryunload事件,query的中文是“询问”的意思,顾名思义,它就是询问是否真的需要关闭,所以queryunload事件要在unload事件之前。
queryunload用法
格式:Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Cancel 一个整数。将此参数设定为除 0 以外的任何值,可在所有已装载的窗体中停止 QueryUnload 事件,并阻止该窗体和应用程序的关闭。
同理如果时MDIfrom窗口,做法都是一样的
格式:Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)
queryuaload意义与作用
一、提示作用
提示用户是否真的需要关闭,让用户免于手误关闭软件
二、插入一些过程的作用
例如,你想知道关闭这个软件的时间,在这个关闭的准备阶段,就可以编写过程进行提示。
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
a = MsgBox("您真的要退出吗", vbOKCancel, "提示")
If a = vbOK Then
MsgBox "当前的时间为:" & Time & ""
Cancel = 0
Else
Cancel = 1
End If
End Sub
显示结果如下
点击确定按钮,就会出现时间
再次点击确定,窗口关闭,好了现在已经讲解完。
我用到queryunload事件是在机房收费系统时,需要得到使用软件的用户在关闭该软件时的时间,以此来更新数据库里的信息。希望能帮助到大家。