Activate、Deactivate 事件Activate -當一個對象成為活動視窗時發生。Deactivate -當一個對象不再是活動視窗時發生。
語法Private Sub object_Activate( )Private Sub object_Deactivate( )object 所在處代表一個對象表達式,其值是“套用於”列表中的一個對象。說明一個對象可以通過諸如單擊它,或使用代碼中的 Show 或 SetFocus 方法之類的用戶操作而變成活動的。Activate 事件僅當一個對象可見時才發生。例如,除非使用 Show 方法或將窗體的 Visible 屬性設定為 True,否則,一個用 Load 語句載入的窗體是不可見的。
Activate 和 Deactivate 事件僅當焦點在一個應用程式內移動時才發生。在另一個應用程式中將焦點移向或移離一個對象時,不會觸發任何一個事件。當一個對象卸載時,不會發生 Deactivate 事件。Activate 事件在 GotFocus 事件之前發生,LostFocus 事件在 Deactivate 事件之前發生。對 MDI 子窗體來說,這些事件僅當焦點從一個子窗體改變到另一個子窗體時才會發生。例如,在一個帶有兩個子窗體的 MDIForm 對象中,當焦點在子窗體之間移動時,它們能接收這些事件。然而,當焦點在一個 MDI 子窗體和一個非 MDI 子窗體之間移動時,父 MDIForm 將接收 Activate 和 Deactivate 事件。
如果一個由 Visual Basic 建立的 .exe 檔案顯示一個對話框,此對話框也是由建立在 Visual Basic 中的一個 .dll 檔案所創建的,那么.exe 檔案的窗體將獲得 Deactivate 和 LostFocus 事件。這可能是不期望的,因為下列情況下不應獲得 Deactivate 事件: 如果對象是一個過程之外的部件。如果對象不是用 Visual Basic 編寫的。在開發環境中調用一個 Visual Basic 建立中的 DLL 時。