我在vb.net中创建了一个控件.现在我希望该控件发送一些消息(触发一个名为recieve的事件),实现它的父应用程序必须创建一个名为recieve的均衡监听器并相应地执行操作.
这段代码与@ user1057768的答案完全相同,但不用大惊小怪.事件处理程序抛出的任何异常都将通过该OnReceive方法返回,因此您可以在其中或类中的其他位置捕获它们.
Class MyClass
Public Event Recieve As EventHandler
Protected Overridable Sub OnReceive(e As EventArgs)
RaiseEvent Receive(Me, e)
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
Custom Event如果需要特殊代码来处理或引发事件,则只需使用a .
Public Custom Event recieve As EventHandler
AddHandler(ByVal value As EventHandler)
_handlers.Add(value)
End AddHandler
RemoveHandler(ByVal value As EventHandler)
If _handlers.Contains(value) Then
_handlers.Remove(value)
End If
End RemoveHandler
RaiseEvent(ByVal sender As Object, ByVal e As System.EventArgs)
For Each handler As EventHandler In _handlers
Try
handler.Invoke(sender, e)
Catch ex As Exception
Debug.WriteLine("Exception while invoking event handler: " & ex.ToString())
End Try
Next
End RaiseEvent
End Event
Run Code Online (Sandbox Code Playgroud)
然后你可以通过输入来举起活动
Dim raise As New System.EventArgs
RaiseEvent recieve(sender, raise)
Run Code Online (Sandbox Code Playgroud)
代码中的任何位置.
| 归档时间: |
|
| 查看次数: |
16020 次 |
| 最近记录: |