private WebClient MyWebClient = new WebClient();
private void MyWebClient_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
if (e.Error != null)
{
MessageBox.Show(e.Error.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else if ((e.Cancelled == true))
{
MessageBox.Show("下载文件操作被取消!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("下载文件操作完成!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
private void MyWebClient_DownloadProgressChanged(object sender, System.Net.DownloadProgressChangedEventArgs e)
{
this.progressBar1.Value = e.ProgressPercentage;
this.label3.Text = "已经下载" + e.BytesReceived.ToString() + " 字节,全部共有" + e.TotalBytesToReceive.ToString()+"字节";
}
private void Form1_Load(object sender, EventArgs e)
{
MyWebClient.DownloadFileCompleted += new AsyncCompletedEventHandler(MyWebClient_DownloadFileCompleted);
MyWebClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(MyWebClient_DownloadProgressChanged);
}
//开始下载
private void button1_Click(object sender, EventArgs e)
{
try
{
this.progressBar1.Value = 0;
this.MyWebClient.DownloadFileAsync(new Uri(this.textBox1.Text), this.textBox2.Text);
}
catch (Exception MyEx)
{
MessageBox.Show(MyEx.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
//取消下载
private void button2_Click(object sender, EventArgs e)
{
MyWebClient.CancelAsync();
}