Сложный уровень: как поймать событие от динамических контролов? - VB

Формулировка задачи:

Народ, если кто в курсе темы, может подскажет в какую сторону двигаться... В общем есть класс, в нём объявлены пару контролов и одно событие:
Option Explicit
 
Private WithEvents ctlTextbox    As VB.TextBox
Private WithEvents ctlCheckBox   As VB.CheckBox
 
Public Event OnChange(ByVal Text As String)
 
Private Sub Change(ByVal Text As String)
    RaiseEvent OnChange(Text)
End Sub
 
Public Property Set TextBox(rhs As TextBox)
    Set ctlTextbox = rhs
End Property
 
Public Property Get TextBox() As TextBox
    Set TextBox = ctlTextbox
End Property
 
Public Property Set CheckBox(rhs As CheckBox)
    Set ctlCheckBox = rhs
End Property
 
Public Property Get CheckBox() As CheckBox
    Set CheckBox = ctlCheckBox
End Property
 
Private Sub ctlCheckBox_Click()
    Call Change("clatz")
End Sub
На форме объявляю событие для этого класса
Option Explicit
Public WithEvents cls           As cClass1
 
Private Sub cls_OnChange(ByVal Text As String)
    Debug.Print Text
End Sub
В общем, эта тема работает если я добавляю только одну группу контролов:
Private Sub Form_Load()
    Set cls = New cClass1    
    Set cls.TextBox = Controls.Add("VB.TextBox", "txt1", Form1)
    Set cls.CheckBox = Controls.Add("VB.CheckBox", "chk1", Form1)
 
    'если добавляем ещё одну группы контролов, то событие не генерится от первого чекбокса    
    Set cls.TextBox = Controls.Add("VB.TextBox", "txt2", Form1)
    Set cls.CheckBox = Controls.Add("VB.CheckBox", "chk2", Form1)
    
    SetTopMostWindow Me.hwnd, True
End Sub
Вопрос: как добиться генерирования события и от первого чекбокса и от второго? на вбстритс задавал этот вопрос, Господин Хакер рекомендует использовать объекты-спутники и спутники-подписчики... Но на практике пока не удаётся найти разъяснение этому процессу. Может быть у местных форумчан есть сведения, как использовать эти спутники? На всякий пожарный вот ветка: Ссылка удалена

Код к задаче: «Сложный уровень: как поймать событие от динамических контролов? - VB»

textual
For I = 1 To N 
   Load TextBox1(I)

14   голосов, оценка 4.071 из 5


СОХРАНИТЬ ССЫЛКУ