也许有人可以给我一个如何解决以下问题的建议。
是否有简单的解决方案将对象的实例属性“绑定”到我的表单元素。当然也可以通过触发checkbox_Click()
回调来解决,但目前我对这个解决方案并不是很满意。
例如:
表单加载 - 对象初始化:
Dim handlecontact As ClsHandleContact
Private Sub Form_Load()
''' init new model handler '''
Set handlecontact = New ClsHandleContact
''' bind attribute of instance to element of form '''
Me!CheckBox.Bind(handlecontact.boolean_attribut)
End Sub
Class ClsHandleContact:
Public boolean_attribut As Boolean
Private Sub Class_Initialize()
''' False by init '''
boolean_attribut = False
End Sub
如果用户签入,我希望更新我的底层对象实例。是否有官方和支持的方式来实现这种bind
?
感谢您的任何建议!
答案 0 :(得分:3)
我建议使用WithEvents
进行设置。这是一个让您入门的快速教程:
使用名为Check0
的复选框创建表单。将Check0
的更新后属性设置为[Event Procedure]
。在表单的代码模块中:
Dim handlecontact As clsHandleContact
Private Sub Form_Load()
Set handlecontact = New clsHandleContact
Set handlecontact.MyCheckBox = Me.Check0
End Sub
在clsHandleContact
课程模块中:
Public WithEvents MyCheckBox As CheckBox
Private Sub MyCheckBox_AfterUpdate()
MsgBox "The value of the checkbox is now: " & MyCheckBox.Value
End Sub