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