簡介
當您喚起一個事件時,就會導致它的事件過程運行。對於您習慣使用的內置事件來說,這是應用程式的工作;例如,當您在 Microsoft® Access 應用程式的窗體中單擊某個按鈕時,Access 中的 Microsoft® Visual Basic® for Applications (VBA) 就會調用該按鈕的 Click 事件並運行其中的代碼。但在創建自定義事件時,應用程式不知道事件應該何時發生,您必須在代碼中指明。然後您或其他正使用您的自定義對象的程式設計師必須創建事件過程並編寫要在喚起事件時運行的代碼。
操作
對於自定義事件最需要了解的一點是,您的代碼必須導致這些事件發生。這些事件不會為回響用戶或系統的動作而自動發生,即使能夠編寫導致事件確實以這種方式發生的代碼也不例外。包含自定義事件的類模組還必須包括一個喚起事件的公有方法。這個方法通過調用 RaiseEvent 語句並傳入為事件定義的任何參數來喚起事件。這些參數按順序傳入為回響事件而運行的事件過程中。
為使事件發生,類模組外部的一些代碼必須調用用於喚起事件的方法。例如,某窗體中在單擊命令按鈕時運行的代碼可以創建一個自定義類的新實例,把它賦值給用 WithEvents 關鍵字聲明的對象變數,然後調用用於喚起事件的方法。當事件發生時,窗體模組內的事件過程(如果存在的話)運行。
當然,沒有任何回響代碼的事件也能發生。事件在作業系統和您的應用程式中始終在發生,代碼對一些事件做出回響,但對另一些則不做出回響。要運行代碼以回響在類的某個實例中發生的事件,必須創建與那個實例相關的事件過程。