【发布时间】:2014-08-19 10:57:50
【问题描述】:
我有一个用户表单,它动态地将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
【问题讨论】:
-
我什至没有意识到错字,但是当错字被修复后,问题仍然存在
-
您需要删除此行:
Dim cButton As Control -
Rory 你会看看我在下面的答案下发布的评论,看看你是否可以就此事给我一些指导?
-
如果以下答案对您有用,您应该将其标记为正确。您的跟进应移至一个新问题,该问题将得到更快的回答,并将两个主题分开以便在 StackOverflow 上搜索。