我做了一些研究,我真的找不到从C#中的工作线程更新表单控件的首选方法。我知道BackgroundWorker组件,但是在不使用BackgroundWorker组件的情况下,最好的方法是什么?
发布于 2019-04-08 09:02:29
调用Invoke时我也会考虑InvokeRequired(仅限VS2008)。有时您不会从单独的线程更新UI。它节省了创建委托等的开销。
if (InvokeRequired)
{
//This.Invoke added to circumvent cross threading exceptions.
this.Invoke(new UpdateProgressBarHandler(UpdateProgressBar), new object[] { progressPercentage });
}
else
{
UpdateProgressBar(progressPercentage);
}
https://stackoverflow.com/questions/-100001079
复制相似问题