类中的事件处理

时间:2011-09-21 19:06:36

标签: vb.net events

我对事件处理完全感到困惑。我读了一些关于它的文章但是之后我很困惑地在我的课程中编写并使用它们。

这是我的班级。 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()会发生吗?因为我班上有很多实例。

感谢。

2 个答案:

答案 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