新しいUserControlにコントロールが1つだけあり、TextBoxを継承している場合は、プロパティエディターを使用するか、AddHandlerを使用して手動で、通常のようにイベントをアタッチできます。それよりも複雑な場合は、おそらくパネルを作成して新しいTextBoxをその中に配置すると、イベントへのアクセスがはるかに簡単になります。
Public Class myUserControl
Inherits TextBox
End Class
Public Class Form1
Public Sub New()
InitializeComponent()
AddHandler MyUserControl1.TextChanged, AddressOf MyUserControl_textChanged
End Sub
Private Sub MyUserControl_textChanged(sender As Object, e As EventArgs)
Throw New NotImplementedException
End Sub
End Class
または、UserControlに複数のカスタムTextBoxが含まれている場合は、カスタムイベントを作成し、それをUserControlの共通のTextChangedイベントで発生させ、メインフォームで処理できます。
Public Class UserControl1
Public Event TextChange(sender As Object, e As EventArgs)
Private Sub MyUserControl_TextChanged(sender As System.Object, e As System.EventArgs) Handles MyUserControl1.TextChanged, MyUserControl2.TextChanged
RaiseEvent TextChange(sender, e)
End Sub
End Class
Public Class Form1
Public Sub New()
InitializeComponent()
End Sub
Private Sub UserControl11_TextChange(sender As System.Object, e As System.EventArgs) Handles UserControl11.TextChange
MsgBox(CType(sender, TextBox).Name, MsgBoxStyle.Information)
End Sub
End Class