用户控件内有个TEXT1(0)的文本框,我调用这个用户控件时可以动态的增加里面的文本框,再向里面发送字符,不知道要怎么做呢?如动态增加了TEXT1(1),TEXT1(2),怎么向这两个文本框发送字符呢?

解决方案 »

  1.   

    '注意!不要删除或修改下列被注释的行!
    'MappingInfo=Text1(0),Text1,0,Text
    Public Property Get Txt() As String
        Txt = Text1(0).Text
    End PropertyPublic Property Let Txt(ByVal New_Txt As String)
        Text1(0).Text() = New_Txt
        PropertyChanged "Txt"
    End Property'从存贮器中加载属性值
    Private Sub UserControl_ReadProperties(PropBag As PropertyBag)    Text1(0).Text = PropBag.ReadProperty("Txt", "")
    End Sub'将属性值写到存储器
    Private Sub UserControl_WriteProperties(PropBag As PropertyBag)    Call PropBag.WriteProperty("Txt", Text1(0).Text, "")
    End Sub
    ----------------------------------------------------------------
    这里面没有Index,直接就到Text1(0)了,不知道要怎么改,还有我要怎么改才能发信息给这个控件要动态增加一个,Load Text1(1) 这个我知道。
      

  2.   

    增加一个用于添加textbox的函数,
    自己维护textbox数组修改读取textbox数组的接口,必须提供textbox的index才能读取数据
    修改设置textbox数组的接口,必须提供textbox的index才能设置数据修改UserControl_WriteProperties,UserControl_ReadProperties,把需要的textbox都读取.
      

  3.   

    大概是不知道怎麽阵列内容怎麽存档吧?
    写了个简单范例:
    http://download.csdn.net/detail/vrgame/4234135
      

  4.   


    load text1(i) 'text1(i)必须没有存在,你自己要维护哪个下标没有没有使用过
    text1(i).move uLeft,uTop,uWidth,uHeight
    text1(i).visible=true
    text1(i).text="Hello world"
      

  5.   

    UserControl内public Sub SetText(s as string,Idx as long)
    's:文本内容,Idx:文本设置到哪个Text1中
    text1(Idx)=s
    end sub
      

  6.   

    public function GetText(Idx as long) as string
    GetText=Text1(Idx)
    end sub''''''''''''''''''''''''''''''''''''''
    还有一种办法:UserControl中,定义一个函数public function GetTextBox(Idx) as textBox
    set getTextBox=Text1(Idx)
    end function在窗口中:有一个名为A的你的控件
    sub Command1_Click
    dim TxtB as textbox
    dim Idx as long
    Idx=3 '假设有存在
    set txtB=a.gettextbox(Idx)dim s as string
    s=txtb.text '读取
    texb.text="Hello world" '写入end sub