最初のフォーム を使用してclasses1
2 番目のフォーム を表示し、attd
次に CustomEvent を発生させています。次に、2 番目のフォーム でattd
、最初のフォーム の別のインスタンスを作成しclasses1
、ハンドラをそのインスタンスのイベントにアタッチしようとしています。それらは同じではないため、発火しません。
あなたがやろうとしていることは本当に明確ではありません。イベントを試しているだけの場合は、次のようなものを試すことができます。
フォーム1
Public Class Form1
Dim attd As Form2 = New Form2
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
attd.Show()
End Sub
Public Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
AddHandler attd.buttonload, AddressOf buttonLoadHandler
End Sub
Private Sub buttonLoadHandler(sender As Object, e As EventArgs)
MsgBox("Event received")
End Sub
End Class
フォーム2
Public Class Form2
Public Event buttonload(ByVal sender As System.Object, ByVal e As System.EventArgs)
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
RaiseEvent buttonload(sender, e)
End Sub
End Class
2 番目のフォームを最初のフォームのボタン クリックに応答させたいだけの場合は、次のようなことを試してください。
フォーム1
Public Class Form1
Dim attd As Form2 = New Form2
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
attd.Show()
attd.showMessageBox()
End Sub
Public Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
End Sub
End Class
フォーム2
Public Class Form2
Public Sub showMessageBox()
MsgBox("Hello World")
End Sub
End Class