我有一个winform,并与乐高nxt砖蓝牙连接。现在我想每秒钟更新表格以读取传感器或电池电量。但是,如果我为此启动一个新线程,那么当线程想要设置标签文本时,会出现无效的线程操作异常。如何异步更新winform?
任何人都可以帮助我吗?
我有一个winform,并与乐高nxt砖蓝牙连接。现在我想每秒钟更新表格以读取传感器或电池电量。但是,如果我为此启动一个新线程,那么当线程想要设置标签文本时,会出现无效的线程操作异常。如何异步更新winform?
任何人都可以帮助我吗?
您只能从创建它的线程,并通过它的外观更新标签您要更新从工作者线程。
看看方法Control.BeginInvoke()并从那里采取。还有其他方法,如Control.EndInvoke和Control.Invoke以及属性Control.InvokeRequired,这在这方面也会有所帮助。
你需要调用你的标签更新发回主线程
请注意,他在WinForm中不是基于WPF的WinForm。 – Manfred 2010-08-12 18:59:51
你说得对。我错过了。我一直坚持Silverlight/WPF模式一段时间:) – Mike 2010-08-12 19:02:17