Unload 事件发生在窗体被关闭之后,但从屏幕上删除之前。当窗体重新加载时,Microsoft Access 将重新显示窗体并重新初始化其中所有控件的内容。
Private Sub Form_Unload()
若要在这些事件发生时运行宏或事件过程,可将 OnUnload 属性设为宏的名称或 [事件过程]。
? | 单击“窗体”窗口的“关闭”按钮或单击“文件”菜单或窗体“控制”菜单上的“关闭”。 |
? | 运行宏中的 Close 操作。 |
? | 通过用鼠标右键单击应用程序的任务栏按钮,然后单击“关闭”命令退出应用程序。 |
? | 在应用程序正在运行时退出 Windows。 |
通过在窗体的 Unload 事件发生时运行宏或事件过程,可以验证窗体是否应该卸载,也可以指定在窗体卸载时应该发生的操作。还可以打开另一个窗体或显示一个对话框要求输入用户名称,以便产生一条有关窗体使用者的日志。
当关闭窗体时,事件按照以下顺序发生:
Unload → Deactivate → Close
Unload 事件发生在 Close 事件之前。Unload 事件可以取消,但 Close 事件不能取消。
注释 在为 Load 事件的相关事件(如 Activate 和 GotFocus)创建宏或事件过程时,请确保它们不会发生冲突(例如,必须确保一个宏或过程不被另一个宏或过程取消),并且它们不会导致级联事件发生。
该示例将提示用户确认窗体是否应该关闭。
若要试用该示例,请将下列事件过程添加到窗体中。在“窗体”视图中,关闭窗体以显示对话框,然后单击“是”或“否”。
Private Sub Form_Unload(Cancel As Integer)
If MsgBox("Close form?", vbYesNo) = vbYes Then
Exit Sub
Else
Cancel = True
End If
End Sub