我有這樣的代碼:與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