我有一个用.NET 3.5用C#编写的WinForms应用程序.它运行一个冗长的批处理过程.我希望应用程序更新批处理正在执行的操作的状态.更新UI的最佳方法是什么?
BackgroundWorker听起来像你想要的对象.
快速而肮脏的方法正在使用Application.DoEvents()
但这会导致处理订单事件时出现问题。所以不推荐
问题可能不是您必须屈服于ui线程,而是在ui线程上进行了处理,阻止了它处理消息。您可以使用backgroundworker组件在其他线程上执行批处理,而不会阻塞UI线程。