OptionButton.Enter 事件 (Access)

在某一控件实际从同一窗体或报表上的控件获得焦点之前,发生 Enter 事件。

语法

表达式进入

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

备注

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

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

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

GotFocus 事件之前,发生 Enter 事件。 在 LostFocus 事件之前,发生 Exit 事件。

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

如果将焦点移动到窗体上的控件上,并且该控件没有焦点位于该窗体上,则对窗体具有焦点的控件的 ExitLostFocus 事件在移动到的控件的 EnterGotFocus 事件之前发生。

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

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

如果移动到子窗体上的控件以前具有焦点,则不会发生其 Enter 事件和 GotFocus 事件,但子窗体控件的 Enter 事件不会发生。 如果将焦点从子窗体上的控件移动到主窗体上的控件,则子窗体上控件的 ExitLostFocus 事件不会发生,只有子窗体控件的 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。