我有一个程序,内含81个text控件(11~19;21~29;31~39;41~49;51~59,61~69;71~79;81~89;91~99),二维数组math(1,1)~math(9,9)。现在给数组赋值,
要求:
假设是text11
则给math(1,1)赋值
是text29
则给math(2,9)赋值求代码

解决方案 »

  1.   

    把text做成控件数组就好了,不然比较难办
      

  2.   

    用控件数组,在窗体上放一个TEXT1,选中它按CTRL+C,再点窗体空白处按CTRL+V粘贴,VB会提示你创建控件数组.
    粘贴几次就有几个控件数组成员了. 但是控件数组只能是一维的,你只需要略微换算一下就知道如何对应到二维数组内容了.
      

  3.   

    你是不是懒的写给数组赋值的代码?
    本来你应该应该用文本框控件数组,但是你用的是名字用遍历窗体上控件,提取文本框名字,数字的方式达到获取2维数组下标。
    Dim i As Integer, j As Integer
    Dim strName As String
    Dim a As Object
        For Each a In Form1.Controls
            If TypeName(a) = "TextBox" Then
                Debug.Print a.Name
                strName = Replace(a.Name, "Text", "")
                i = CInt(Left(strName, 1))
                j = CInt(Right(strName, 1))
                data(i, j) = Val(a.Text)
            End If
        Next
      

  4.   

    text给数组赋值?直接text11.text赋值给他不行了?
      

  5.   

    本帖最后由 bcrun 于 2011-02-11 13:48:55 编辑
      

  6.   

    本帖最后由 bcrun 于 2011-02-11 13:49:15 编辑