我有一个用户窗体,可以动态放置commandButton
到用户表单上,但我似乎无法正确设置动态事件处理程序:下面显示了我如何设置动态按钮的代码:
Set cButton = Me.Controls.Add("Forms.CommandButton.1")
With cButton
.Left = 150
.Top = 0
.Width = 300
.Height = 140
End With
我也定义了dim WithEvents cButton as Commandbutton
在任何子程序或过程之外,最后我有了动态按钮的事件处理程序,我现在只想输出一条消息:
Private Sub cButton_Click()
MsgBox "Dynamic Handler functioning correctly"
End Sub
现在我可以为单个控件的动态事件创建事件处理程序,但是我正在创建多个控件,并且它们都具有相同的名称cButton
那么我如何才能为每个事件创建单独的事件处理程序。下面显示了用于创建多个控件的代码:
If TextBox1 <> vbNullString Then
For i = 1 To TextBox1.Value
Set cButton = Me.Controls.Add("Forms.CommandButton.1")
With cButton
.Left = 150
.Top = 0
.Width = 300
.Height = 140
End With
Next i
End IF
cButton
应该只声明一次:
Dim WithEvents cButton As CommandButton
Sub UserForm_Initialize()
Set cButton = Me.Controls.Add("Forms.CommandButton.1")
With cButton
.Left = 150
.Top = 0
.Width = 300
.Height = 140
End With
End Sub
Private Sub cButton_Click()
MsgBox "Dynamic Handler functioning correctly"
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)