這可能是一個愚蠢的問題,但我無法在stackoverflow上找到答案。從後臺線程結果更新WinForms UI
我有一個Winform應用程序中的按鈕單擊事件,該應用程序運行一個線程來整理結果以顯示在窗體中。
當線程計算出結果時,如何更新Forms UI?
private void btnRequestR2Approval_Click(object sender, EventArgs e)
{
if (User.IsLogged)
{
ValidationResults results = new ValidationResults();
results.Show();
Logger log = Logger.Instance();
Logger.NewLogAddedHandler messageDelegate = new Logger.NewLogAddedHandler(results.NewLogMessage);
if (!log.IsEventHandlerRegistered())
{
log.NewLogAdded += messageDelegate;
}
ThreadStart operation = new ThreadStart(ValidateAndSubmit);
Thread theThread = new Thread(operation);
theThread.Start();
}
else
{
MessageBox.Show("Please login");
}
}
謝謝
你在問ASP嗎。NET(網絡技術)還是Winforms(Windows本機技術)?這個問題看起來像你使用的WinForms,但標題和標籤表明否則。 – jrcs3 2009-06-11 20:04:25
「完成跑步」是什麼意思?線程已經退出,或者線程已經計算出了您需要知道的內容? – 2009-06-11 21:04:27
完成運行,意味着線程計算的東西,我需要刷新另一個線程中的東西 – Sergey 2009-06-11 21:07:37