C#怎么将一个窗口的串口接收到的数据在另一个窗口显示

坏假 2018-09-08 09:30:25
问题描述:现有Form1和Form2,串口serialport(是自己写的,不是拖出来的控件)在Form2里,Form1有button1对应textbox1,button2对应textbox2,用串口调试助手模拟回数据,当点击Form1的button1时,将Form2串口接收到的数据显示到textbox1里,当点击Form1的button2时,将Form2串口接收到的数据显示到textbox2里,请问各位大神如何实现?
...全文
879 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Blithe239 2018-09-10
  • 打赏
  • 举报
回复
可以使用事件触发啊,Form2定义一个接收事件,Form1中的显示函数订阅这个事件,当Form2接收到数据后触发事件,就能够自动将Form2接收到的数据显示在Form1上面了。
kekezhu0000 2018-09-10
  • 打赏
  • 举报
回复
如果感觉其它人回复的不好操作,你就把FORM2的接收的数据付给 公共变量,在FORM1里面价格时间控件,获取一下在赋值也很方便!方法很多,这个比较初级,控制好什么时候开启、关闭TIME控件就OK
threenewbee 2018-09-09
  • 打赏
  • 举报
回复
https://bbs.csdn.net/topics/360140208
坏假 2018-09-08
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
你可以在类型 Form2 声明一个属性
public string 串口接收到的数据
{
get{
...................
}
}
来对外暴露它自己的接口数据。然后所有拥有 Form2 实例的宿主都可以访问这个属性,取得值。



谢谢回答,我的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里
  • 打赏
  • 举报
回复
你可以在类型 Form2 声明一个属性
public string 串口接收到的数据
{
get{
...................
}
}
来对外暴露它自己的接口数据。然后所有拥有 Form2 实例的宿主都可以访问这个属性,取得值。
stevenjin 2018-09-08
  • 打赏
  • 举报
回复
控件直接赋值就可以了啊
txtBox.value=...

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧