我正在尝试更新文本框.我认为我的线程代码可以解决问题,但事实并非如此.有人能帮忙吗?
new Thread((ThreadStart)delegate { txtCapacitance.Text = Math.Round(capacitance, 3).ToString(); }).Start();
Run Code Online (Sandbox Code Playgroud)
给出以下错误:
跨线程操作无效:控制'txtCapacitance'从其创建的线程以外的线程访问.
请注意,所有这些都是由dataReceived函数启动的,每当收到USB数据时都会调用该函数.
如果我有:
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)'