.net crossthreading麻烦

时间:2010-11-22 11:47:58

标签: .net multithreading

我有这样的代码,在回调函数中

try{
     text.Invoke(new MethodInvoker(() => text.AppendText("test"))); 
    }
catch (Exception e)
        {
            text.Invoke(new MethodInvoker(() => text.AppendText(e.Message)));
        }

text是winforms.textbox 并在text.Invoke ..我有“Microsoft.VisualStudio.Debugger.Runtime.CrossThreadMessagingException” 为什么?这种方式总是对我有用。

1 个答案:

答案 0 :(得分:0)

我认为//blahblahblah会与一个或多个UI控件进行对话吗?也许读/写值?由于线程关联,这将无效。如果您正在与UI控件进行通信,请使用Invoke更早地访问UI线程。您当然可以在后台线程上查询外部数据。