當(dāng)焦點(diǎn)從窗體或報(bào)表移到“表”、“查詢”、“窗體”、“報(bào)表”、“宏”、“模塊”窗口或“數(shù)據(jù)庫”窗口時(shí),Deactivate 事件發(fā)生。
Private Sub object_Deactivate()
Object 窗體或報(bào)表的名稱。
在兩個(gè)開啟的窗體之間切換時(shí),切換的窗體將發(fā)生 Deactivate 事件,而切換到的窗體則發(fā)生 Activate 事件。如果這兩個(gè)窗體中沒有包含已啟用的可見控件,則對于第一個(gè)窗體,LostFocus 事件先發(fā)生,而后發(fā)生 Deactivate 事件;對于第二個(gè)窗體,Activate 事件先發(fā)生,而后 GotFocus 事件發(fā)生。
在第一次打開窗體時(shí),下列事件將按以下的順序發(fā)生:
Open → Load → Resize → Activate → Current
當(dāng)關(guān)閉窗體時(shí),事件按照以下順序發(fā)生:
Unload → Deactivate → Close
可以在 Activate 或 Deactivate 宏中使用 ShowToolbar 操作來顯示或隱藏自定義工具欄。當(dāng)您一次加載多個(gè)窗體時(shí),使用 Activate 或 Deactivate 事件可顯示或隱藏自定義工具欄。如果一次只加載一個(gè)窗體,則可以使用 Open 和 Close 事件。
因?yàn)樾遁d窗體時(shí)不會(huì)發(fā)生 Deactivate 事件,所以,如果使用 Deactivate 宏來隱藏窗體上的自定義工具欄,那么,一定還要隱藏該工具欄以響應(yīng)窗體的 Unload 事件。由于在包含已啟用的控件的窗體上不會(huì)觸發(fā) GotFocus 或 LostFocus 事件,因此不要使用這些事件來顯示或隱藏窗體上的自定義工具欄。
不能在 Activate 或 Deactivate 宏中使用 CancelEvent 操作。
下面的示例演示當(dāng)焦點(diǎn)移動(dòng)到另一個(gè)窗口時(shí),如何隱藏工具欄。
Private Sub Form_Deactivate()
' Hide custom toolbar.
DoCmd.ShowToolbar "CustomToolbar", acToolbarNo
End
Sub