我有TEXT1,TEXT2,TEXT3.
我想用如下代码赋值.FOR A=1 TO 3
  TEXT&A.TEXT=值  "这名如何写
NEXT

解决方案 »

  1.   

    你可以用控件数组.
    for a=1 to 3
      text(i).text=值
    next
      

  2.   

    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
      

  3.   

    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写入值这是个馊主意,因为效率狂低
      

  4.   

    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个控件(控件数组算是一个控件).
      

  5.   

    赞同 CALG(紫怡) 的做法
    用字符串比较直观,也方便一些,但是如果要考虑效率
    我想用TypeOf 效率更高一些,未测试,仅建议
      

  6.   

    那其实看来,一个页面的所有TEXT控件做成一个控件数组是最好的??
      

  7.   

    把text做成控件数组
    好处很多
    同时遍历也很容易了