SerialDataReceivedEventHandler是辅助线程,解决报错

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

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

上一篇:Non-terminating decimal expansion; no exact representable decimal result.


下一篇:c#反射