请问在form1中new了一个form2
要在form2中点击按钮控制form1中的timer1 start,要怎么做?另外看了一些form2修改form1变量的问题,除了将变量放到一个普通module中设为全局变量,使form1,form2都能调用修改,还有什么方法么?比如说有提到管道的说法,那具体是怎样呢?

解决方案 »

  1.   

    第一个问题
    在Form2中写代码:Form1.Timer1 = True第二个问题
    可以把变量放到其中一个Form中,也是用Public声明
    在其他位置调用的时候可以这样写(先假设该变量在Form1中):Form1.xxxx = xxxx(yyy = Form1.xxxx)不过这样的话,Form1就必须要加载,就算你没加载,这样写的话该窗体会自动被加载。
      

  2.   

    谢谢楼上,不过我的form2是在form1中new 的,在form2中写form1.xx=xx并没有实际在form1中起效,同样的第一个问题也不能解决
      

  3.   

    哦,谢谢Sandrer ,不好意思,我好像搞错了,可能是别的地方出了问题,我再试试
      

  4.   

    就是指定打开Form1的Timer控件不就可以了,除非你还有什么别的需求没说明白Private Sub Command1_Click()
        Dim pForm2 As New Form1
        pForm2.Show
    End SubPrivate Sub Command2_Click()
        Form1.Timer1.Interval = 1000
        Form1.Timer1.Enabled = True
    End SubPrivate Sub Command3_Click()
        Unload Me
    End SubPrivate Sub Timer1_Timer()
        MsgBox "Timer1 Started!"
    End Sub
      

  5.   

    Form1中增加一个公共的方法,例如:SetTimer(...),然后Form2调用Form1.SetTimer(...)。
    这样结构比较好一点,最好不要直接操作Form1成员变量。
      

  6.   

    直接操作form1中的变量的一个最重要的后果就是会加载form1。