在WinForm应用程序中进行批处理时,如何让UI线程更新UI?

Guy*_*Guy 9 .net c# winforms

我有一个用.NET 3.5用C#编写的WinForms应用程序.它运行一个冗长的批处理过程.我希望应用程序更新批处理正在执行的操作的状态.更新UI的最佳方法是什么?

Aus*_*nen 14

BackgroundWorker听起来像你想要的对象.


Men*_*elt 5

快速而肮脏的方法正在使用Application.DoEvents()但这会导致处理订单事件时出现问题。所以不推荐

问题可能不是您必须屈服于ui线程,而是在ui线程上进行了处理,阻止了它处理消息。您可以使用backgroundworker组件在其他线程上执行批处理,而不会阻塞UI线程。