我vb程序里有个主窗体main,里面读串口数据,然后从菜单里进到另一个窗体form2(main窗体不卸载),form2里也是读这个串口里的数据,怎么才能让form2窗体出现的时候,只在form2里读串口,而main里面不读呢??
最好是能判断main是不是当前窗体,如果不是的话就把里面的timer1的Enabled设置成false,

解决方案 »

  1.   

    If Forms.ActiveForm Is main Then
        ...
    End If
      

  2.   


    最好是能判断main是不是当前窗体,如果不是的话就把里面的timer1的Enabled设置成false????????????????????????????????不一定是最好吧?
      

  3.   

    楼主的问题我也遇到过,开始和停止TIER1以及界面转换容易产生数据读不出来的问题。
    我是这样做的
    只用一个串口控件
    在窗体转换中:
    UNLOAD X
    UNLOAD Y
    窗体加载中
    me。show
    form1-show=true
    form2—show=false

    在串口事件中
    If form1_show Then
        Call Form1.form1_MSComm1_OnComm
    ElseIf form2_show Then
        Call Form2.form2_MSComm1_OnComm
    ElseIf form3_show Then
        Call Form3.form3_MSComm1_OnComm
    ElseIf form4_show Then
        Call Form4.form4_MSComm1_OnComm
    ElseIf form5_show Then
        Call Form5.form5_MSComm1_OnComm
    ElseIf form8_show Then
        Call Form8.form8_MSComm1_OnComm
    ElseIf form11_show Then
        Call Form11.form11_MSComm1_OnComm
    Else
    Exit Sub
    End If
    每个不同的CALL 事件是当前窗体的串口处理过程。