【发布时间】:2012-04-12 20:25:42
【问题描述】:
我第一次尝试使用线程,并想出了这个:
Thread myThread = new Thread(() =>
{
test = Class1.getNumbers(param1, param 2);
MessageBox.Show(test.toString());
});
不过,这对我没有任何作用。我做错了什么?
【问题讨论】:
-
您错过了对
Start的呼叫。在定义myThread后尝试添加myThread.Start()。 -
您正试图显示来自工作线程的消息框。 UI 元素只能在主线程上创建。
-
为了在 .NET 平台上学习线程,我强烈推荐阅读这篇文章:yoda.arachsys.com/csharp/threads/index.shtml
-
@lucas1024 : 但
MessageBox.Show()是线程安全的静态方法。 -
@TheGateKeeper : 如果我想将线程中的一些数据添加到 UI 中,我该怎么办? 这是一个单独的问题,已在此处多次询问和回答已经。
标签: c# winforms multithreading