c# webclient+thread判断下载是否完成
try{//点击下载stringstr=this.listView1.SelectedItems[0].Text;stringstr1=this.listView1.Se...
try
{
//点击下载
string str = this.listView1.SelectedItems[0].Text;
string str1 = this.listView1.SelectedItems[0].SubItems[2].Text;
string str2 = str + "\\" + str1;
ThreadStart st = new ThreadStart(delegate()
{
WebClient web = new WebClient();
web.Credentials = new NetworkCredential("caojian", "kancuo1");
web.DownloadFile("ftp://172.28.37.34/" + str1 + "/" + str, dir + "/" + str);
});
Thread tt = new Thread(st);
tt.Start();
MessageBox.Show("下载完成");
}
catch (Exception)
{
MessageBox.Show("下载失败,请联系管理员检查服务器运行状态");
}
请问我怎么才能智能判断下载是否完成呢?现在只要点了下载就提示完成了 展开
{
//点击下载
string str = this.listView1.SelectedItems[0].Text;
string str1 = this.listView1.SelectedItems[0].SubItems[2].Text;
string str2 = str + "\\" + str1;
ThreadStart st = new ThreadStart(delegate()
{
WebClient web = new WebClient();
web.Credentials = new NetworkCredential("caojian", "kancuo1");
web.DownloadFile("ftp://172.28.37.34/" + str1 + "/" + str, dir + "/" + str);
});
Thread tt = new Thread(st);
tt.Start();
MessageBox.Show("下载完成");
}
catch (Exception)
{
MessageBox.Show("下载失败,请联系管理员检查服务器运行状态");
}
请问我怎么才能智能判断下载是否完成呢?现在只要点了下载就提示完成了 展开
2个回答
展开全部
WebClient ws = new WebClient();
//绑定下载事件,显示当前进度
ws.DownloadProgressChanged += new DownloadProgressChangedEventHandler(OnDownloadProgressChanged);
//绑定下载完成事件,进行完成提示
ws.DownloadFileCompleted += new AsyncCompletedEventHandler(OnDownloadFileCompleted);
ws.DownloadFileAsync下载,然后在事件里处理进度和完成通知
//绑定下载事件,显示当前进度
ws.DownloadProgressChanged += new DownloadProgressChangedEventHandler(OnDownloadProgressChanged);
//绑定下载完成事件,进行完成提示
ws.DownloadFileCompleted += new AsyncCompletedEventHandler(OnDownloadFileCompleted);
ws.DownloadFileAsync下载,然后在事件里处理进度和完成通知
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询