C#进度条未与下载同步(WebClient类)

我正在编写一个系统,其中包含一个小的FTP模块,它根本不是主要function,但需要……

我必须将进度条与WebClient类事件DownloadProgressChangedEventHandler和AsyncCompletedEventHandler链接,进度条增量正常,并且ASyncCompletedEventHandler启动MessageBox(按预期),问题是进度条看到加载太慢…

问题:

我的MessageBox弹出100%(由事件处理程序启动),但是当MessageBox弹出我的进度条仅为+ -80%(但.VALUE真的是100)时,第一个虽然我有,但是他们添加了一个Windows Vista中的“平滑”效果会使进度条相对于其真实值减慢速度。

如果您有任何人遇到同样的问题,感谢您的帮助。

对于那些想要了解的人来说,Vista实际上为加载栏更改添加了“平滑”,它看起来像Flash的“补间效果”。

我尝试使用Windows XP,当数值达到100时,条形码达到100%。在Vista上看起来他们已经决定“加载”将在延迟X上分割。

在显示消息框之前,请调用Application.DoEvents()以强制处理所有挂起的Windows排队消息。 在消息框显示之前,您的进度条可能无法最后一次绘制自己。

为什么不在显示消息框的同一DownloadProgressChangedEventHandler事件处理程序中将进度条值设置为100%?