webclient和progressbar实现下载时显示进度条

zhang_13245768 2009-04-16 10:50:05
两者配合,实现下载的同时显示下载的进度,请帖上经过测试的代码,帮忙!
...全文
248 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhang_13245768 2009-04-16
  • 打赏
  • 举报
回复
自己已实现,代码如下:

WebClient client = new WebClient();
public Form1()
{
InitializeComponent();
//在异步下载操作成功转换部分或全部数据后发生
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
//在异步文件下载操作完成时发生
client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
//获取或设置此WebClient对象使用的代理
client.Proxy = WebRequest.DefaultWebProxy;
}

void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
if (client != null)
{
client.CancelAsync();
}
lblMessage.Text = "下载完成!";
}
void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
int a = e.ProgressPercentage;
progressBar1.Value = a;
}
//下载
private void btnDownload_Click(object sender, EventArgs e)
{
client.DownloadFileAsync(new Uri('要下载的资源的URL'), '要保存在本地的计算上的文件名');
}
m777 2009-04-16
  • 打赏
  • 举报
回复
我晕,我机器坏了否则还真给你贴了,简单提示一下把异步下载,每次循环获取一下当前这个文件的大小,每次下载后文件大小都会变化的!

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧