NavigationButton.Exit 事件 (Access)

从一个控件转移到同一窗体或报表上另一个控件焦点之前,发生 Exit 事件。

语法

表达式退出 (取消)

表达 一个代表 NavigationButton 对象的变量。

参数

名称 必需/可选 数据类型 说明
Cancel 必需 Integer 设置为 True 以取消该事件。

返回值

Nothing

注解

该事件不适用于选项组中的复选框、选项按钮或切换按钮。 它仅适用于选项组本身。

若要在该事件发生时运行宏或事件过程,请将 OnExit 属性设置为宏的名称或 [事件过程]。

因为在焦点移动到一个指定控件之前,发生 Enter 事件,所以可以使用 Enter 宏或事件过程来显示说明。例如,可以使用宏或事件过程显示一个小的窗体或消息框,以指出控件通常包含,数据的类型,或给出如何使用控件的说明。

LostFocus 事件之前,发生 Exit 事件。

LostFocus 事件中,不同窗体失去焦点时不会 退出 事件。 例如,假定您选择窗体上的复选框,然后单击报表。 当您选择复选框时,会发生 EnterGotFocus 事件。 当您单击该报表仅 LostFocus 事件发生。 (因为焦点移动到其他窗口),则不会发生 Exit 事件。 如果您选择再次要将它显示为前台的窗体上的复选框, GotFocus 事件发生,但不是 Enter 事件 (因为上次活动窗体时,该控件具有焦点)。 只有在单击窗体上的另一个控件时,将发生 Exit 事件。

如果将焦点移到窗体上的控件,该控件没有焦点的窗体中, 退出LostFocus 事件没有焦点的窗体上的控件之前发生 EnterGotFocus 事件的控件您移至。

如果使用鼠标将焦点从主窗体上的控件移动到该窗体的子窗体上的控件(子窗体上没有获得焦点的控件),将发生下列事件:

  • 退出 (对于主窗体上的控件)
  • LostFocus (对于主窗体上的控件)
  • 输入 (用于子窗体控件)
  • 退出 (适用于具有焦点的窗体控件)
  • LostFocus (适用于具有焦点的窗体控件)
  • 输入 (对于在焦点移到子窗体控件)
  • GotFocus (对于在焦点移到子窗体控件)

如果移动到子窗体上的控件以前具有焦点,则不会发生其 Enter 事件和 GotFocus 事件,但子窗体控件的 Enter 事件不会发生。 将焦点从子窗体上的控件移到主窗体上的控件时,如果 退出LostFocus 事件为子窗体上的控件不会发生,只是子窗体控件的 Exit 事件和主窗体上的控件的 EnterGotFocus 事件。

注意

通常使用鼠标或 Tab 等键将焦点移动到另一个控件。 这不但会使本主题讨论的事件发生,还将发生鼠标或键盘事件。

示例

在以下示例中,将两个事件过程附加到“ LastName ”文本框中。 Enter 事件过程显示一条消息,指定的数据类型的用户可以输入的文本框中。 Exit 事件过程显示一个对话框询问用户如果保存者应将焦点移动到另一个控件。 如果用户单击“ 取消 ”按钮, 则 Cancel 参数设置为 True (1) ,这会将焦点移动到文本框,而不保存更改。 如果用户选择“ 确定” 按钮,则会保存更改,并将焦点移动到另一个控件。

若要尝试此示例,请将以下事件过程添加到包含名为 LastName 的文本框的窗体中。

Private Sub LastName_Enter() 
 MsgBox "Enter your last name." 
End Sub 
 
Private Sub LastName_Exit(Cancel As Integer) 
 Dim strMsg As String 
 
 strMsg = "You entered '" & Me!LastName _ 
 & "' as your last name." & _ 
 vbCrLf & "Is this correct?" 
 If MsgBox(strMsg, vbYesNo) = vbNo Then 
 Cancel = True ' Cancel exit. 
 Else 
 Exit Sub ' Save changes and exit. 
 End If 
End Sub

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。