VB中控件数组可以是二维的吗?

解决方案 »

  1.   

    可以,可以是n维的
    Dim test(0 To 3, 0 To 5)
      

  2.   

    Private Sub Command1_Click()
        Dim intX As Integer, intY As Integer
        Dim frmNew(1 To 5, 1 To 2) As New Form1
        For intY = 1 To 2
            For intX = 1 To 5
                frmNew(intX, intY).Show
                frmNew(intX, intY).WindowState = vbMinimized
                '为了不让它们第一次以正常大小出现而
                '创建最小化窗体,可改变
                '上面两行的顺序。
            Next intX
        Next intY
    End Sub
    嘿嘿,看着怎么有点象MSDN中“创建对象数组”里的代码呢?嘎嘎
      

  3.   

    补充补充,别把里面的代码放在FORM1_LOAD里面,不然呢,会溢出滴,应该在FORM1对象初始化完成后才能这么干.
    你可以进行类似于下面的声明
    dim mObj() as object
    redim mobj(1,2,3,4,5,6,7,8,9)
    然后挨个去set他们....
      

  4.   

    ZCSOR()大哥的方法可以创建新的窗体,但是我用类似的方法不能添加控件啊!
      

  5.   

    奥,说得是控件数组
    严格意义上的控件数组,是一维的,因为只有一个index熟悉么但是也可以用变量来动态产生控件,改一下楼上的例子:Private Sub Command1_Click()
        Dim intX As Integer, intY As Integer
        Dim txtNew(1 To 5, 1 To 2) As TextBox
        For intY = 1 To 2
            For intX = 1 To 5
                Set txtNew(intX, intY) = Me.Controls.Add("VB.TextBox", "Cmd" & intX & "_" & intY)
                txtNew(intX, intY).Move 600 * intX, 300 * intY, 600, 300
                txtNew(intX, intY).Visible = True
            Next intX
        Next intY
    End Sub