这可能是一个愚蠢的问题,但我无法在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