0

我在声明自定义事件的一个模块中具有发送电子邮件的功能:

Public Module myModule
    Public Event emailCompleted()

在该模块中,我有在发送电子邮件完成时触发的功能:

Private Sub SendCompletedCallback(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs)
    If e.Error Is Nothing Then
        RaiseEvent emailCompleted()
    End If
End Sub

正如预期的那样,所有这些都运行良好。

问题是我不知道如何在调用 sendemail 函数的主程序中捕获该事件。
怎么做?

4

1 回答 1

1

您只能从一个类中引发事件并在该类之外处理它们:

Public Class myModule
    Public Event emailCompleted()
    Private Sub SendCompletedCallback(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs)
        If e.Error Is Nothing Then
            RaiseEvent emailCompleted()
        End If
    End Sub

并在您的调用代码模块中:

dim WithEvents myModuleObject as MyModule

Sub HandleEvent() Handles myModuleObject.emailCompleted
...
于 2013-09-02T23:06:59.027 回答