c# 实现进度条下载文件
来源:互联网 发布:沈阳盘古网络怎么样 编辑:程序博客网 时间:2024/05/21 09:08
使用到的c#控件主要有:Label,ProgressBar,Button
首先引用命名空间
using System.Diagnostics;
using System.IO;
using System.Net;
定义全局变量
WebClient webClient; //下载文件使用
Stopwatch sw = new Stopwatch(); //用于计算下载速度
使用的主要代码:
public void DownloadFile(string urlAddress, string location) { using (webClient = new WebClient()) { webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed); webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged); try { Uri URL; // 先判断是否包括http:// if (!urlAddress.StartsWith("http://", StringComparison.OrdinalIgnoreCase)) URL = new Uri("http://" + urlAddress); else URL = new Uri(urlAddress); sw.Start(); // 开始异步下载 webClient.DownloadFileAsync(URL, location); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e) { try { // 显示下载速度 if (labelPerc.Text != (Convert.ToDouble(e.BytesReceived) / 1024 / sw.Elapsed.TotalSeconds).ToString("0")) labelSpeed.Text = (Convert.ToDouble(e.BytesReceived) / 1024 / sw.Elapsed.TotalSeconds).ToString("0.00") + " kb/s"; // 进度条 if (progressBar.Value != e.ProgressPercentage) progressBar.Value = e.ProgressPercentage; // 当前比例 if (labelPerc.Text != e.ProgressPercentage.ToString() + "%") labelPerc.Text = e.ProgressPercentage.ToString() + "%"; // 下载了多少 还剩余多少 labelDownloaded.Text = (Convert.ToDouble(e.BytesReceived) / 1024 / 1024).ToString("0.00") + " Mb's" + " / " + (Convert.ToDouble(e.TotalBytesToReceive) / 1024 / 1024).ToString("0.00") + " Mb's"; } catch (Exception ex) { MessageBox.Show(ex.Message); } } // The event that will trigger when the WebClient is completed private void Completed(object sender, AsyncCompletedEventArgs e) { sw.Reset(); if (e.Cancelled == true) { //下载未完成 } else MessageBox.Show("下载完毕!"); }
在下载文件时,只需调用DownloadFile方法,如下:
DownloadFile(“下载文件地址”, “文件保存地址”);
- c# 实现进度条下载文件
- C# Winform下载文件并显示进度条
- C# Winform下载文件并显示进度条
- Android文件下载进度条的实现
- Android文件下载进度条的实现
- Android文件下载进度条的实现
- Android文件下载进度条的实现
- Android文件下载进度条的实现代码
- Android 文件下载进度条的实现
- Android文件下载进度条的实现代码
- Android文件下载进度条的实现
- libcurl--下载文件并实现进度条
- c#实现文件下载
- C#实现文件下载
- C#实现文件下载
- c#下载进度条
- UrlDownloadtoFile文件下载,进度条,下载暂停,停止的简单实现
- 文件下载 进度条
- Android之Home键监听封装
- 关于面试时项目的介绍
- request.getParameter和request.getAttribute之间
- Oracle数据库DBA专题技术精粹
- SQL Server 2005数据库日志文件损坏的情况下如何恢复数据库
- c# 实现进度条下载文件
- 采购订单行项目选KD-CO的客户
- 抽象类和接口的区别
- 华为李开新:产业融合为解决道路问题带来可能
- PJSIP学习笔记——PJSUA层发起呼叫的主要流程
- Vim编辑命令
- 一个程序员的时间管理
- IOS开发(97)之自定义视图之使用XIB自定义一个UIView
- Microsoft+SQL+Server_企业平台管理实践