在一个工程里的两个窗体间怎样传值?

解决方案 »

  1.   

    不是这么简单的,意思是变量A在窗体1(frame1)中的值是5,现在要把这个5传到窗体2中(frame2)
      

  2.   

    hook一下吧,用getWindowHookEX试一下
      

  3.   

    首先纠正一个问题窗体是form不是frame然后开始回答问题,如楼上所说,建立一个模块,然后里面放个全局变量是最简单的了。但是楼主之后补充说不能这样干,汗~~~那好吧,我们换个方法,比如你form1里面有个变量a=5要传递到form2里面,你可以在form2的最顶端加入如下定义:
    public b as long
    然后在form1里面这样写:
    form2.b=aOK天下太平了,这下楼主满足了吧!
      

  4.   

    1、用窗体级全局变量实现:'form1 code
    Option Explicit
    Public a As Integer
    Private Sub Form_Load()
       a = 5
       Form2.Show 
    End Sub'form2 code
    Option Explicit
    Private Sub Command1_Click()
       MsgBox Form1.a
    End Sub2、利用控件tag属性实现'form1 code
    Private Sub Form_Load()
       Frame1.Tag = 5
       Form2.Show
       
    End Sub'form2 code
    Private Sub Command1_Click()
      Frame2.Tag = Form1.Frame1.Tag
      MsgBox Frame2.Tag
      
    End Sub
      

  5.   

    要不就全局变量
    要不就引用比如:form1中有变量s 要应用到form5,先在form5中加个变量,再赋值。
    例:在form5中
    dim xinzhi as string
    xinzhi=form1.s
    text5.text=form1.s
      

  6.   


    form1中定义一个public变量AAA,然后在form2中就可以用form1.AAA的方法去访问了.
    不过为何楼主不原意在模块里直接定义全局变量呢??
      

  7.   

    楼主不会是想实现两个窗体的变量自动同步吧?类似这样的效果?
    form1.a = 123
    x = form2.a ' x 值为 123 ,form2.a 与 form1.a 自动同步了
      

  8.   

    定义pulic变量a
    在form2中引用form.a
      

  9.   

    pulic KKK AS INTFORM1 SHOW时 KKK=1FORM2 SHOW 时 TEXT1.TEXT=KKK 就OK了