用循环: dim otext as control for each otext in me.controls if typeof otext is textbox then otext.enabled = True ' False类似。 end if next otext
'假设有N个TextBox,分别是txtName,txtPass,txtAge....... Dim a As Control For Each a In Controls If Left(a.Name, 3) = "txt" Then a.Enabled = False ' 注意一下大小写,也可以通过别的方式判断,但Text一般都应该以txt为前缀 Next
看到了,qingming81(晴明)的方法比我的好。
如果你控件调用的程序多,或者是不同的FORM上都有,就建立一个模块调用吧 Public Sub Sel(ByVal vObject As TextBox, Button As Integer, Shift As Integer, X As Single, Y As Single) vObject.enabled=false '这里写你的程序 End Sub 然后再你需要的控件处调用 call SEL就可以了
Dim i As Long
For i = 0 To Text1.Count - 1
Text(i).Enabled = False
Next i
如果吧名字取成一样的又无法很直观的辨识各个textbox的数据域
枚举可以列举控件吗?还是只能用常数?
dim otext as control
for each otext in me.controls
if typeof otext is textbox then
otext.enabled = True ' False类似。
end if
next otext
Dim a As Control
For Each a In Controls
If Left(a.Name, 3) = "txt" Then a.Enabled = False
' 注意一下大小写,也可以通过别的方式判断,但Text一般都应该以txt为前缀
Next
Public Sub Sel(ByVal vObject As TextBox, Button As Integer, Shift As Integer, X As Single, Y As Single)
vObject.enabled=false '这里写你的程序
End Sub
然后再你需要的控件处调用
call SEL就可以了