我在窗体上直接添加了一个串口对象。
需要实时的将串口返回的数据显示在窗体的一个文本框中。有两个方案:
A、在窗体中添加一个时钟控件,在控件事件中读取串口返回数据并显示在文本框中。
优点:功能可以实现。
缺点:窗体上的其他控件在时钟控件事件循环时,将失去响应。如按钮的点击事件。
B、使用串口数据返回事件,在事件中操作文本框。
优点:理论上可以减少操作串口的次数。
缺点:实际上因为串口数据返回事件是在另外的线程上运行,无法控制主线程创建的控件。听说可以用BackgroundWorder类解决方案B的问题,但我一直没有弄出来。谁能给个代码参考下。
即在串口数据返回事件中,可以实现调用窗体上文本框的AppendText方法。串口通讯异步跨线程通信