问题描述:现有Form1和Form2,串口serialport(是自己写的,不是拖出来的控件)在Form2里,Form1有button1对应textbox1,button2对应textbox2,用串口调试助手模拟回数据,当点击Form1的button1时,将Form2串口接收到的数据显示到textbox1里,当点击Form1的button2时,将Form2串口接收到的数据显示到textbox2里,请问各位大神如何实现?

解决方案 »

  1.   

    你可以在类型 Form2 声明一个属性public string 串口接收到的数据
    {
        get{
           ...................
        }
    }来对外暴露它自己的接口数据。然后所有拥有 Form2 实例的宿主都可以访问这个属性,取得值。
      

  2.   

    谢谢回答,我的Form2接收的串口数据是public void sp_DataReceived(object sender, SerialDataReceivedEventArgs e)
            {
                       float data;
                       string str = sp.ReadExisting();
                       data = Convert.ToSingle(str);
                       //DataAnalyse(data);
                       //tbxTest.Text = data.ToString();
                       mf.Flag(data);
                       flag = 0;
    }而Flag这个函数在Form1里,里面意思是,当按下button1时,数据显示到textbox1里,按下button2时,数据显示到textbox2里
      

  3.   

    控件直接赋值就可以了啊
    txtBox.value=...
      

  4.   

    https://bbs.csdn.net/topics/360140208
      

  5.   

    如果感觉其它人回复的不好操作,你就把FORM2的接收的数据付给 公共变量,在FORM1里面价格时间控件,获取一下在赋值也很方便!方法很多,这个比较初级,控制好什么时候开启、关闭TIME控件就OK
      

  6.   

    可以使用事件触发啊,Form2定义一个接收事件,Form1中的显示函数订阅这个事件,当Form2接收到数据后触发事件,就能够自动将Form2接收到的数据显示在Form1上面了。