我对事件处理完全感到困惑。我读了一些关于它的文章但是之后我很困惑地在我的课程中编写并使用它们。
这是我的班级。 E:
Public Class Test
Public Event playedEvent()
Public Sub playTimer()
RaiseEvent playedEvent()
End Sub
End Class
用法:
Friend WithEvents t as Test
Private Sub AnEvent() Handles t.playedEvent()
'Do some stuff
End Sub
我没有任何争论传递。但我想知道我该怎么做。我想知道Test类的每个实例是否单独运行此事件我是指每个实例本身,这个事件 AnEvent()会发生吗?因为我班上有很多实例。
感谢。
答案 0 :(得分:1)
以下是一个例子:
Public Event OnDisplayViewModeChange(ByVal sender As Object, ByVal displayMode As DisplayViewMode)
Public Sub UpdateDisplayMode(ByVal displayMode As DisplayViewMode)
DataViewMultiView.ActiveViewIndex = Convert.ToInt32(displayMode)
RaiseEvent OnDisplayViewModeChange(Me, displayMode)
End Sub
答案 1 :(得分:1)
类Test
的每个实例都有自己的事件,您可以单独处理它们。如果你是想要将Test
的实例作为参数添加到事件中,您必须以下列方式更改事件声明:
Public Event playedEvent(t as Test)
然后你可以提出它:
RaiseEvent playedEvent(Me)
并处理它:
Private Sub AnEvent(t as Test) Handles t.playedEvent()
't is the actual instance of Test
End Sub
以下是更多信息:http://msdn.microsoft.com/en-us/library/wkzf914z.aspx