小弟想做一个小报警系统,用form1里有一些控件text和底层设备相连,来监测从底层网络设备来的数据信号.当数据有变化时如: 从0-->1 时,弹出窗口显示数据的变化.内容如下:
编号  警号来源  警号类型 发生时间 
001     01         10      08-19...
if form1里text的内容变化  then  弹出窗口form2  这个该怎么编.

解决方案 »

  1.   

    form1:
    Private Sub Text1_Change()
        Form2.Show
    End Sub
      

  2.   

    里面很多的text控件,当有一个text的内容发生变化时,就弹出窗口显示变化的内容.
      

  3.   

    如果你的不同的Text变化后,要显示不同的内容,那需要在每个Text_Change()里写代码如果每个Text变化后,显示的都是一样的,那么可以把Text做成控件数组(先在窗体上放一个Text控件,名命好后,复制控件,再粘贴,提示是否创建数组的时候选择 是),这样就可以只在Text_Change(Index As Integer)写代码就行了
      

  4.   

    例如当form1里的 text1.text 从00-->10 那么form2 窗口应该显示:
    编号  警号来源  警号类型 发生时间 
    001     01         10      08-19
    当text2.text 从01-->11 那么弹出form2窗口 显示:
    编号  警号来源  警号类型 发生时间 
    002     02         11      08-19
    ......
    以此类推,form2里的内容是随着text控件的变化而变化的.....这该怎么写..谢谢附点代码./
      

  5.   

    这样可以做成控件数组,参考代代码(具体的请自己改过来):Dim Num As Long
    Private Sub Text1_Change(Index As Integer)
        Num = Num + 1
        With Form2
            .AutoRedraw = True
            .Cls
            .print "编号  警号来源  警号类型 发生时间"
            .print Format(Num, "000") & Space(2) & Format(Index, "00") & Space(2) & Text1(Index).Text & Space(2) & Format(Date, "mm-dd")
        End With
    End Sub
      

  6.   

    少了一句显示窗体的语句:Dim Num As Long
    Private Sub Text1_Change(Index As Integer)
        Num = Num + 1
        With Form2
            .AutoRedraw = True
            .Cls
            .print "编号  警号来源  警号类型 发生时间"
            .print Format(Num, "000") & Space(2) & Format(Index, "00") & Space(2) & Text1(Index).Text & Space(2) & Format(Date, "mm-dd")
            .Show
        End With
    End Sub
      

  7.   

    晕,报错"未找到方法或数据成员".要使用 print方法还要 "引用"什么?
      

  8.   

    不用引用,把show方法放在前面就行:
        With Form2
            .Show
            .AutoRedraw = True
            .Cls
            .print "编号  警号来源  警号类型 发生时间"
            .print Format(Num, "000") & Space(2) & Format(Index, "00") & Space(2) & Text1(Index).Text & Space(2) & Format(Date, "mm-dd")        
        End With
      

  9.   

    为找到,那就直接在前面加上:
    With Form2
            .Show
            .AutoRedraw = True
            .Cls
            Form2.print "编号  警号来源  警号类型 发生时间"
            Form2.print Format(Num, "000") & Space(2) & Format(Index, "00") & Space(2) & Text1(Index).Text & Space(2) & Format(Date, "mm-dd")        
        End With
      

  10.   

    还有个问题,当text1控件组里有多个text里的值变化时,要在form2里逐个显示.这该怎么写.
    上面的代码只能显示一行,当有下一个要显示时,前一个自动被覆盖.
    我也就是要做成这种效果:
    编号  警号来源  警号类型 发生时间
    000    00          1        9:00
    001    01          0         10:00
    002    00          0        8:00
    003    10          1        9:00
      

  11.   

    把代码中的 .Cls  去掉Cls方法是清除窗体内容
      

  12.   

    通常它是从最左上角开始print.能否控制它从form2里的某个位置开始输出...