Der nächste Code funktioniert für meine, aber ich weiß nicht, ob es der beste Weg ist, es zu tun. Auf diese Weise muss ich schreiben: _Button1 = Button1 und _MyVar = MyVar Diese Art zu tun scheint wiederholt und lang, wenn die Parameter an den Klassenkonstruktor übergeben werden, sind viel mehr.Handle ein Formular steuert Ereignisse aus einer Klasse
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim myVar As String = "My children"
Dim NewClass1 As New Class1(Button1, myVar)
'... do more ...
End Sub
End Class
Public Class Class1
Private WithEvents _Button1 As Button
Private _MyVar As String
Public Sub New(ByVal Button1 As Button, ByVal MyVar As String)
_Button1 = Button1
_MyVar = MyVar
'... do more ...
End Sub
Private Sub _Button1_Click(sender As Object, e As EventArgs) _
Handles _Button1.Click
MsgBox("Button1 clicked and I love: " & _MyVar)
End Sub
End Class
Behandeln Sie das Klickereignis nicht, bevor Sie nicht einmal über eine Schaltfläche verfügen. Verwenden Sie stattdessen "AddHandler" im Konstruktor. –