Dispatcher不会使用C#Windows窗体应用程序

Kis*_*hor 7 c# multithreading dispatcher windows-applications

我有一个带有进度条的C#Windows窗体应用程序.我想根据某些方法状态动态地进行.我在一个单独的类中有该方法,并为该方法创建一个新线程,并使用委托将该方法的状态传递给父线程.

我可以在WPF应用程序中解决相同的情况progressbar.Dispatcher但在Windows窗体应用程序中没有Dispatcher,即使我使用System.Threading命名空间.

progressbar.Dispatcher 似乎只在WPF应用程序中可用.

小智 12

在winforms中,您可以使用ProgressBar.Invoke或ProgressBar.BeginInvoke从另一个线程更新控件.


Nog*_*ard 5

在Windows窗体中,应用程序BackgroundWorker应完全适合您的任务.特别是,它具有ReportProgress根据您的计算发送进度并ProgressChanged跟踪UI线程更改的方法.有关完整详细信息,请参阅MSDN文章