有两个窗体frm1和 frm2,想把frm1中的文本框数据传递给frm2的文本框
但是不能用frm2.text=frm1.text
而是需要用property过程,应该怎样写??

解决方案 »

  1.   

    如果用Property的话,那跟frm2.text=frm1.text没有任何区别。
    相反可能会比frm2.text=frm1.text要慢!
    最好的办法就是在模块中用Global或者Public定义一个全局模块~
    不过既然你提问了,就写出来吧'frm1
    '这里只使用Property Get,即属性只读
    Public Property Get ThisFormTxt() As String
        ThisFormTxt = Me.Text1
    End Property'frm2
    Me.Text1 = frm1.ThisFormTxt
      

  2.   

    '窗体二中代码:
    Public Property Get tbText() As String
        tbText = text1.Text
    End PropertyPublic Property Let tbText(ByVal vNewValue As String)
        text1.Text = vNewValue
    End Property
    然后在窗体一中访问tbText这个属性就OK.
      

  3.   

    就是在frm2中添加一个属性,比如你要传递一个零件名称,那么先在frm2中定义一个变量
    dim mPartName as string
    public property let PartName(byval vData as string)
       mPartName = vData
    end property最后你在frm1中直接引用frm2的属性partname,这样就把值传递到frm2中的变量(mtext)中了