我正在尝试编写一些代码,这些代码将在我的一个对象中引发一个事件,然后在我的一个窗口窗体中处理该事件。它看起来很简单,但我无法让代码工作;程序创建人员对象,设置人员姓名,甚至引发事件但不处理表单代码中的事件。我已经将包含“event”和“raiseevent”的类代码复制到主程序中,但它仍然不起作用。我不确定问题是什么,但任何帮助将不胜感激。
代码是使用 VS Express 2012 IDE 软件在 VB.NET 中编写的。
Public Class clsPerson
  Private m_name As String
  Public Event personviewed()
  Public Property name() As String
    Get
      name = m_name
    End Get
    Set(value As String)
      m_name = value
    End Set
  End Property
  Public Sub personviewedmethod()
    RaiseEvent personviewed()
  End Sub
End Class
和
Public Class Form1
  Public WithEvents clsperson1 As clsPerson
  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim clsperson1 As New clsPerson
    clsperson1.name = "PersonsName"
    clsperson1.personviewedmethod()
  End Sub
  Private Sub personviewed() Handles clsperson1.personviewed
    MessageBox.Show("***Event raised**")
  End Sub
End Class