【发布时间】:2016-12-28 20:57:54
【问题描述】:
我需要将参数(ref 或 val 无关紧要)传递给与运行时生成的控件(复选框)关联的事件。我似乎无法找到方法。 (我不得不承认我什至尝试了一些肮脏的公开声明......无济于事) 另一方面,我如何从事件中访问控件的属性?
我生成复选框的部分:
For Each distinctClientList In Range("DA3:DA" & LastRow).Cells
Dim MaTextBox As Object
Set MaTextBox = Client_picking.Controls.Add("Forms.TextBox.1")
With MaTextBox
.Text = CStr(distinctClientList.Value)
.Left = 20
.top = topref + (20 * Client_picking.i)
.Width = 90:
.Height = 20
End With
Dim MaCheckBoxfile As Object
Set MaCheckBoxfile = Client_picking.Controls.Add("Forms.CheckBox.1")
With MaCheckBoxfile
.Caption = "fichier"
.Left = 140
.top = topref + (20 * Client_picking.i)
End With
ReDim Preserve ButArray(1 To Client_picking.i)
Set ButArray(Client_picking.i).butEvents() = MaCheckBoxfile
Client_picking.i = Client_picking.i + 1
Next
我的处理程序
Public WithEvents butEvents As MSForms.CheckBox
Private Sub butEvents_click()If Checked Then
MsgBox "checked" & /*This is where i would put my parameter... IF I HAD ONE!*/
End If
结束子
【问题讨论】:
-
参数是什么?你可以在类中使用属性吗?
-
您还可以在将类添加到数组时传入对象,例如使用用户表单,传入对父对象的引用,用户表单?
-
谢谢小费,我要试试这些。我希望我能够完成一项工作。