オブジェクトの 1 つでイベントを発生させ、ウィンドウ フォームの 1 つで処理するコードを書き込もうとしています。非常に単純に見えますが、コードを機能させることができません。プログラムは人物オブジェクトを作成し、人物の名前を設定し、さらにイベントを発生させますが、フォーム コードではイベントを処理しません。'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