在winform里面,进度条可以直接赋值,不用借助新开线程和Invoke,可以实现执行耗时的任务时更新进度。
WPF则不太相同,它需要多开线程(把耗时的操作放在新线程里)和BeginInvoke,BeginInvoke的作用是将修改进度的操作委托给主线程,如果不使用的话会引起“从不是创建控件的线程访问它”的异常。
除了进度条之外的控件想要实时更新显示状态,则都需要新开线程和Invoke,或者是使用System.Windows.Forms.Application.DoEvents()。
本文探讨了在WinForm中直接更新进度条的方法,并对比了WPF中更新进度条所需的多线程与BeginInvoke机制。此外,还讨论了除进度条外其他控件实时更新的策略。
在winform里面,进度条可以直接赋值,不用借助新开线程和Invoke,可以实现执行耗时的任务时更新进度。
WPF则不太相同,它需要多开线程(把耗时的操作放在新线程里)和BeginInvoke,BeginInvoke的作用是将修改进度的操作委托给主线程,如果不使用的话会引起“从不是创建控件的线程访问它”的异常。
除了进度条之外的控件想要实时更新显示状态,则都需要新开线程和Invoke,或者是使用System.Windows.Forms.Application.DoEvents()。

被折叠的 条评论
为什么被折叠?