Обработка событий в классах - PullRequest
0 голосов
/ 21 сентября 2011

Я полностью запутался в обработке событий. Я прочитал несколько статей об этом, но после этого я просто запутался, когда писал и использовал их в своих классах.

Это мой класс я. 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 ]

1 голос
/ 21 сентября 2011

Каждый экземпляр класса 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

1 голос
/ 21 сентября 2011

Вот пример:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...