我有这样的代码:与UI交谈的线程?
private void buttonStart_Click(object sender, EventArgs e)
{
Task.Factory.StartNew(() => GeneraListaCartelle())
.ContinueWith(t => GeneraListaCartelleCompletata()
, CancellationToken.None
, TaskContinuationOptions.None
, TaskScheduler.FromCurrentSynchronizationContext());
}
private void GeneraListaCartelle()
{
try
{
... some operation ....
}
catch (Exception err)
{
txtErrors.AppendText(err.Message);
}
}
GeneraListaCartelleCompletata()
{
... process finished...
}
和txtErrors
是 “主” 线程(UI)。当我发现错误时,异步线程无法写入UI控件,并且我得到一个invalid cross-thread exception
。
我可以使用线程内的UI进行对话吗?
您使用的是WPF还是WinForms? – 2013-04-18 07:05:24
什么样的应用程序,winform或WPF,如果WinForm寻找[MethodInvoker](http://msdn.microsoft.com/en-us/library/system.windows.forms.methodinvoker.aspx),为WPF,寻找[Dispatcher.Invoke](http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatcher.invoke.aspx) – Habib 2013-04-18 07:05:42
我正在使用WinForm,对不起;) – markzzz 2013-04-18 07:09:37