【发布时间】:2009-06-11 19:58:59
【问题描述】:
这可能是一个愚蠢的问题,但我在 stackoverflow 上找不到答案。
我在 Winform 应用程序中有一个按钮单击事件,该应用程序运行一个线程来计算结果以显示在表单中。
当线程计算出结果后,如何更新表单 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(Web 技术)还是 Winforms(Windows 原生技术)?这个问题看起来你正在使用 WinForms,但标题和标签却暗示了其他问题。
-
“跑完了”是什么意思?线程已经退出,或者线程计算了一些你需要知道的东西?
-
运行完毕,表示线程计算了一些东西,我需要在另一个线程中刷新一些东西
-
这是一个 Winforms windows 原生技术
标签: .net winforms multithreading