小编Ada*_*dam的帖子

C#中的多线程错误

我正在尝试更新文本框.我认为我的线程代码可以解决问题,但事实并非如此.有人能帮忙吗?

new Thread((ThreadStart)delegate { txtCapacitance.Text = Math.Round(capacitance, 3).ToString(); }).Start();
Run Code Online (Sandbox Code Playgroud)

给出以下错误:

跨线程操作无效:控制'txtCapacitance'从其创建的线程以外的线程访问.

请注意,所有这些都是由dataReceived函数启动的,每当收到USB数据时都会调用该函数.

.net c# multithreading

6
推荐指数
2
解决办法
196
查看次数

简单的多线程 - 将语句组合成两行

如果我有:

ThreadStart starter = delegate { MessageBox.Show("Test"); };
new Thread(starter).Start();
Run Code Online (Sandbox Code Playgroud)

如何将其组合成一行代码?我试过了:

new Thread(delegate { MessageBox.Show("Test"); }).Start();
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

以下方法或属性之间的调用不明确:'System.Threading.Thread.Thread(System.Threading.ThreadStart)'和'System.Threading.Thread.Thread(System.Threading.ParameterizedThreadStart)'

.net c# multithreading

3
推荐指数
1
解决办法
2234
查看次数

标签 统计

.net ×2

c# ×2

multithreading ×2