我有一个通用Sub,可以从任何表单调用,它将启用所有Tag属性设置为"EnableForReadOnly"的文本框和组合框。我想为Subforms创建一些类似的东西。
Public Sub EnableReadOnlyControls(theForm)
Dim i As Integer
' Cycle through the form's controls,
For i = 0 To theForm.Count - 1
If theForm(i).Tag = "EnableForReadOnly" Then
If TypeOf theForm(i) Is TextBox Then
theForm(i).Locked = False
theForm(i).Enabled = True
ElseIf TypeOf theForm(i) Is ComboBox Then
theForm(i).Locked = False
theForm(i).Enabled = True
End If
End If
Next i
结束子
要从表单中调用此Sub,在表单的OnOpen事件上,我键入以下内容,效果很好:
EnableReadOnlyControls Me
我想为子窗体创建一个类似的通用Sub,但我不确定是否可以用这种通用方式引用子窗体。任何想法都将不胜感激。
我在这里转发安德烈的评论作为答案。谢谢安德烈!
"您可以简单地使用相同的功能。EnableReadOnlyControls Me.SubformControl.Form.或您在子窗体的Open事件中的调用">
示例:我的主窗体上的子窗体控件的名称是frmCounterTopSub,所以我在代码中添加了这一行,它就像一个魅力:
EnableReadOnlyControls Me.frmCounterTopSub.Form