参考:动态创建带事件的控件(通过类来实现)
'类模块Class1代码:
Option Explicit动态创建带事件的控件(通过类来实现)
Private WithEvents mvarCmBtn As CommandButton
Public Property Set CmBtn(ByVal vData As CommandButton)
Set mvarCmBtn = vData
End Property
Public Property Get CmBtn() As CommandButton
Set CmBtn = mvarCmBtn
End Property
Private Sub mvarCmBtn_Click()
MsgBox mvarCmBtn.Name
End Sub
'测试窗体代码:
Option Explicit动态创建带事件的控件(通过类来实现)
Dim a() As Class1
Private Sub Command1_Click()
Me.Controls.Remove Me.Controls("cmdobj3") '删除控件
End Sub
Private Sub Form_Load()
ReDim a(5)
Dim i As Integer
For i = 0 To 5
Set a(i) = New Class1
Set a(i).CmBtn = Me.Controls.Add("VB.CommandButton", "cmdObj" & i)
a(i).CmBtn.Visible = True
a(i).CmBtn.Top = i * 500
Next i
End Sub动态创建带事件的控件(通过类来实现)