如何异步更新winform?

eag*_*999 1 c# multithreading delegates asynchronous winforms

我有一个winform,和一个lego nxt砖的蓝牙连接.现在我想每秒更新一次表格以读取传感器或电池电量.但是如果我为此启动一个新线程,那么当线程想要设置标签文本时,会出现无效的线程操作异常.

谁能帮我?

Man*_*red 6

您只能从创建它的线程更新标签,并通过它的外观来尝试从工作线程更新它.

看看方法Control.BeginInvoke()并从那里获取它.还有其他方法,如Control.EndInvokeControl.Invoke以及属性Control.InvokeRequired,这也将在此上下文中有所帮助.