ComboBox.Exit 事件 (Access)

Exit 事件會在控制項上的焦點移到相同表單或報表上的另一個控制項之前發生。

語法

運算式結束 (取消)

表達 代表 ComboBox 物件的變數。

參數

名稱 必要/選用 資料類型 描述
Cancel 必要 Integer 設定為 True 可取消事件。

註解

此事件不適用的核取方塊、 選項按鈕或切換按鈕選項群組中。 它只適用於選項群組本身。

若要發生此事件時執行巨集或事件程序,將 OnExit 屬性設定為巨集名稱或 [事件程序]。

因為 Enter 事件發生於焦點移至的特定控制項之前,您可以使用 Enter 巨集或事件程序顯示指示;例如,您可以使用巨集或事件程序來顯示小型表單或訊息] 方塊中識別的控制項通常包含、 資料類型或提供如何使用控制項的指示。

Exit 事件會在 LostFocus 事件之前發生。

不同於 LostFocus 事件表單失去焦點時都不會發生 Exit 事件。 例如,假設您選取 [表單] 核取方塊,然後按一下 [報表。 在 輸入GotFocus 事件發生時選取此核取方塊。 當您按一下 [報表會發生 LostFocus 事件。 (因為將焦點移至不同的視窗) 不會發生 Exit 事件。 如果您選取一次以將其移至最上層的表單上核取方塊,會發生 GotFocus 事件,但不是 Enter 事件 (因為控制項有焦點時表單上次使用時間)。 只有當您按一下表單上的另一個控制項時,會發生 Exit 事件。

如果您將焦點移至表單上控制項和控制項沒有焦點 離開 該表單上及表單上沒有焦點的控制項 LostFocus 事件之前發生 EnterGotFocus 事件控制項您移動至。

如果您用滑鼠將焦點從主表單中的控制項移到該表單之子表單中的控制項 (子表單上的該控制項尚未取得焦點),則會發生下列事件:

  • 結束 (如主表單上的控制項)
  • LostFocus (如主表單上的控制項)
  • 輸入 (適用於子表單控制項)
  • 結束 (適用於子表單中具有焦點的控制項)
  • LostFocus (適用於子表單中具有焦點的控制項)
  • 輸入 (適用於子表單中焦點的控制項)
  • GotFocus (適用於子表單中焦點的控制項)

如果您在子表單上移至 的控制項先前擁有焦點,則不會發生其 Enter 事件或 GotFocus 事件,但子表單控制項的 Enter 事件確實發生。 如果您子表單上控制項的焦點移至主表單上的控制項, 退出 和子表單控制項的 LostFocus 事件不會發生, Exit 事件子表單控制項和主表單上控制項的 輸入GotFocus 事件。

注意事項

您通常會使用滑鼠或 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 支援與意見反應