Winform 下载文件进度条设计
来源:互联网 发布:java方法重载 编辑:程序博客网 时间:2024/06/06 02:38
后台load事件
DownloadFile("http://localhost:2484/123.rar", @"C:\123.rar", progressBar1, label1);
/// <summary>
/// c#,.net 下载文件
/// </summary>
/// <param name="URL">下载文件地址</param>
///
/// <param name="Filename">下载后的存放地址</param>
/// <param name="Prog">用于显示的进度条</param>
///
public void DownloadFile(string URL, string filename, System.Windows.Forms.ProgressBar prog, System.Windows.Forms.Label label1)
{
float percent = 0;
try
{
System.Net.HttpWebRequest Myrq = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(URL);
System.Net.HttpWebResponse myrp = (System.Net.HttpWebResponse)Myrq.GetResponse();
long totalBytes = myrp.ContentLength;
if (prog != null)
{
prog.Value = 0;
prog.Maximum = (int)totalBytes;
}
System.IO.Stream st = myrp.GetResponseStream();
System.IO.Stream so = new System.IO.FileStream(filename, System.IO.FileMode.Create);
long totalDownloadedByte = 0;
byte[] by = new byte[1024];
int osize = st.Read(by, 0, (int)by.Length);
while (osize > 0)
{
totalDownloadedByte = osize + totalDownloadedByte;
System.Windows.Forms.Application.DoEvents();
so.Write(by, 0, osize);
if (prog != null)
{
prog.Value = (int)totalDownloadedByte;
}
osize = st.Read(by, 0, (int)by.Length);
percent = (float)totalDownloadedByte / (float)totalBytes * 100;
label1.Text = "当前补丁下载进度" + percent.ToString() + "%";
System.Windows.Forms.Application.DoEvents(); //必须加注这句代码,否则label1将因为循环执行太快而来不及显示信息
}
so.Close();
st.Close();
MessageBox.Show("下载成功!");
}
catch (System.Exception ex)
{
MessageBox.Show(ex.ToString(),"错误提示");
}
}
- Winform 下载文件进度条设计
- C# Winform下载文件并显示进度条
- winform带进度条的文件下载
- Winform下载文件并显示进度条
- C# Winform下载文件并显示进度条
- 下载进度条的设计
- 文件下载 进度条
- 文件下载 进度条
- 文件下载 进度条
- [进度条]文件下载
- 文件下载显示进度条
- 下载文件更新进度条
- WinForm远程下载文件
- winForm 下载远程文件
- winform下载文件
- C# WinForm 进度条可复用窗口设计
- WinForm上传文件,下载文件
- VC下载文件 + 显示进度条
- 如何将JAVA打包成。exe文件
- mybatis之初级使用日记
- 编程中的##(两个井号)和#(一个井号)都是什么意思
- 简单的输入、输出例子
- Mysql索引
- Winform 下载文件进度条设计
- quartz属性文件和jar包说明
- qt加载图形失败的解决方案
- 有一种方法给 XSLT 中变量进行赋值,是保持状态的那种
- AndEngine引擎的学习笔记(一)
- 入门级的ORACLE数据库备份与数据库还原-备份恢复
- 制作文件系统 YAFFS/Busybox/mkyaffsimage
- JAVA程序性能优化(真的很重要,要么速度慢死了)
- java发送简单邮件