Private Sub Command1_Click() Dim CTR As Control Dim I As Long
For Each CTR In Me.Controls I = I + 1 If UCase$(TypeName(CTR.NMAE)) = "TEXTBOX" Then CTR.Text = I End If Next End Sub
dim i as integer dim j as integerdim ctl as controlsfor i =0 to ctl.count-1 if type of ctl is textbox then for j=1 to 3 if ctl.name="text"& cstr(j) then ctl.text="你的值" next end if next第一重循环遍历你窗体上所有的控件,第二重循环遍历text1~3写入值这是个馊主意,因为效率狂低
Private Sub Command1_Click() Dim CTR As Control'定义一个对象,该对象是控件型. Dim I As Long
For Each CTR In Me.Controls '在控件集合中遍历 I = I + 1 '检测是否是TEXTBOX If UCase$(TypeName(CTR.NMAE)) = "TEXTBOX" Then '对是TEXTBOX的控件赋值. CTR.Text = I End If Next End Sub至于效率是底还是高,你自己测试吧.我认为效率并不底.你用准确千分一秒的API函数来测测,我你相信一定测不出执行时间. 1.因为每个控件VB内部是有索引的(换句话来说,有点象排好序的数据库). 2.VB窗体最多只能放255个控件(控件数组算是一个控件).
for a=1 to 3
text(i).text=值
next
Dim CTR As Control
Dim I As Long
For Each CTR In Me.Controls
I = I + 1
If UCase$(TypeName(CTR.NMAE)) = "TEXTBOX" Then
CTR.Text = I
End If
Next
End Sub
dim j as integerdim ctl as controlsfor i =0 to ctl.count-1 if type of ctl is textbox then
for j=1 to 3
if ctl.name="text"& cstr(j) then ctl.text="你的值"
next
end if next第一重循环遍历你窗体上所有的控件,第二重循环遍历text1~3写入值这是个馊主意,因为效率狂低
Dim CTR As Control'定义一个对象,该对象是控件型.
Dim I As Long
For Each CTR In Me.Controls '在控件集合中遍历
I = I + 1
'检测是否是TEXTBOX
If UCase$(TypeName(CTR.NMAE)) = "TEXTBOX" Then
'对是TEXTBOX的控件赋值.
CTR.Text = I
End If
Next
End Sub至于效率是底还是高,你自己测试吧.我认为效率并不底.你用准确千分一秒的API函数来测测,我你相信一定测不出执行时间.
1.因为每个控件VB内部是有索引的(换句话来说,有点象排好序的数据库).
2.VB窗体最多只能放255个控件(控件数组算是一个控件).
用字符串比较直观,也方便一些,但是如果要考虑效率
我想用TypeOf 效率更高一些,未测试,仅建议
好处很多
同时遍历也很容易了