我有text1-text146共146个text,初始化时如何用循环清空146个控件中的内容,不能用text1.text="" text2.text=""....写上146条重复的语句。

解决方案 »

  1.   

    在本窗体时用   
    For Each ctrl In Me.Controls
          If TypeOf ctrl Is TextBox Then
             ctrl.Text = ""
           End If
       Next
    如查调用edit窗体中的146个text呢?
      

  2.   

    dim N as interge
    for n=1 to 146
       text(n)=""
    next
      

  3.   

    用控件数组,TEXT(1) - TEXT(146)
      

  4.   

    用控件数组,TEXT(1) - TEXT(146)
    dim i as integer
    for i=1 to 146
        TEXT(i).TEXT=""
    next
      

  5.   

    dim ctrl  as object
    For Each ctrl In Me.Controls
          If TypeOf ctrl Is TextBox Then
             ctrl.Text = ""
           End If
       Next
      

  6.   

    为什么不使用控件数组呢?你先在窗体上放一个TEXT控件,点住它,按“CTRL+C”再按“CTRL+V”就可以了,VB会询问你是否要创建控件数组,你点“是”就可以了,连按个145下就出来145个。
    控件数组的使用方法就是在控件名称后面加个(Index),这样的话你的程序就可以改为:
    Dim I as long
    For I =0 to 145 '说明一下,控件数组和一般的数组一样,默认都是从0开始
        Text1(I).Text=""  '把所有的文本框都变成空啦!
    Next
    还有一个建议给你:如果你的程序真的有那么多的控件的话,我建议你还是换一个吧,146个文本框排版都要排死你了,你可以使用MsFlexGrid之类的表格控件来显示你的数据,这样既美观,效率又高,运行速度也快!