c# - 如何异步更新 winform?

标签 c# winforms multithreading delegates asynchronous

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

谁能帮帮我?

最佳答案

您只能从创建它的线程更新标签,从它的外观来看,您正在尝试从工作线程更新它。

看看方法Control.BeginInvoke()然后从那里拿走。还有其他方法,如 Control.EndInvokeControl.Invoke还有属性(property)Control.InvokeRequired ,这在这种情况下也会有所帮助。

关于c# - 如何异步更新 winform?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3470963/

相关文章:

c# - LINQ 帮助初学者选择多个表

C# 拖放 - 使用基类的 e.Data.GetData

c# - 呈现应该为正数的负数的阶乘计算器。怎么修?

c# - 如何在工作线程中从 UI 线程获取变量?

Java 不在循环内更新文本区域

Android服务随机/自动启动

c# - 避免在HashSet <double>中重复以获取略有不同的值

c# - 正则表达式匹配重复组只捕获一个组

c# - 要旋转的数据绑定(bind)列表

c# - 收到错误 : A network-related or instance-specific error occurred while establishing a connection to SQL Server