我可以从一个单独的线程在主线程上运行一个方法吗?

时间:2010-12-31 00:50:54

标签: vb.net serial-port multithreading

我正在从串口读取数据,但是SerialPort的DataReceived事件是在它自己的线程上处理的。我想在主线程上处理这个问题,但只是声明一个事件并提升它仍会导致它在SerialPort线程上被处理。我假设我需要声明一个我可以调用的委托,但我不知道它会如何工作。

例如,我想从DataReceived线程调用主线程上的Sub HandleDataReceived(),在主线程上运行HandleDataReceived()。我该怎么做?

1 个答案:

答案 0 :(得分:1)

如果主线程是UI线程,您可以使用其SynchronizationContext或致电Control.BeginInvoke