您的位置:首页 > 编程语言 > C#

C#/串口控件的一些说明

2016-05-09 09:58 351 查看
从 SerialPort 对象接收数据时,将在辅助线程上引发 DataReceived 事件。由于此事件在辅助线程而非主线程上引发,因此尝试修改主线程中的一些元素(如 UI 元素)时会引发线程异常。如果有必要修改主 Form 或 Control 中的元素,必须使用 Invoke 回发更改请求,这将在正确的线程上执行.

进而要想将辅助线程中所读到的数据显示到主线程的Form控件上时,只有通过Invoke方法来实现,将Invoke方法内的命令在调用Invoke方法的对象(这里是this.tB_ReceiveDate控件)所在的线程上执行。

串口被打开后,系统会创建一个监听线程,使用中断方式等待系统事件,当系统通知到线程,线程触发事件:SerialPort.DataReceived,这个方法是在ui界面以外的一个线程上运行的。

参考:http://bbs.csdn.net/topics/360065257
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: