有很多个frame控件,我在每一个frame 控件中有数个textbox 控件,我想操作每一个frame里的每一个textbox控件,想以每一个frame为单元来操作,例如:我想给frame1中的textbox1赋值就像写成这种样子:frame1.textbox1=“***”
怎么实现啊? 

解决方案 »

  1.   

    定义: 
    dim Frame1 as new colleage
    dim Frame2 as new colleage
    ...     Frame1.add textbox1
         Frame1.add textbox2
    ...
         Frame2.add textboxX
      Frame1(1)="***"
      

  2.   

    每个Frame中的text控件做一个text控件数组不行吗?
      

  3.   

    有很多个frame控件? 我记得窗体上最多不超过339个控件。
    你嫌麻烦,可以像如下添加到各个数组里,再对数组元素操作。
    Private Sub Command1_Click()
        Dim a() As TextBox
        Dim s As Control
        Dim i As Integer
        
        ReDim a(0) As TextBox
        For Each s In Controls
            If s.Container Is Frame1 And TypeName(s) = "TextBox" Then
                If i = 0 Then
                    Set a(0) = s
                Else
                    ReDim Preserve a(i)
                    Set a(i) = s
                End If
                
                i = i + 1
            End If
        Next
        
        For i = 0 To UBound(a)
            Debug.Print a(i).Name
            'a(i).Text = i
        Next
    End Sub
      

  4.   

    个人觉得开始命名的时候就命名为有规律的,如frame1_txt1,frame1_txt2 之类,岂不是很方便操作吗
      

  5.   

    frame1.textbox1是不成立的,frame类和textbox类是独立的类,并非frame是textbox的父。用控件数组最简单:
    frame1的textbox1(0);textbox1(1);textbox1(2)……
    frame2的textbox2(0);textbox2(1);textbox2(2)……
    …………
      

  6.   

    UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP