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

时间:2010-06-11 16:08:20

标签: c# ftp webclient

我正在编写一个内部包含一个小型FTP模块的系统,它根本不是主要功能,但需要......

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

问题:

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

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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