Esempio n. 1
0
        public void myf_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
        {
            DownLoadItem download_item = this.ctrl_download_list.Items[0] as DownLoadItem;

            download_item.ctrl_download_speed.Content = String.Format("{0} MB/s", 0);
            MessageBox.Show("下载文件成功");
        }
Esempio n. 2
0
        public void NewDownLoadTask(object sender, newDownloadEventArgs uri_string)
        {
            if (mywebclient.IsBusy)
            {
                mywebclient.CancelAsync();
                return;
            }
            Uri uri = new Uri(uri_string.download_uri);

            HttpWebRequest  webrequest  = (HttpWebRequest)WebRequest.Create(uri);
            HttpWebResponse webresponse = (HttpWebResponse)webrequest.GetResponse();

            download_file_size = Math.Round(((double)webresponse.ContentLength) / (1024 * 1024), 2);
            //MessageBox.Show(webresponse.ContentLength.ToString());  //获取下载文件的大小
            //MessageBox.Show(webresponse.ContentType); //不知道什么意思
            webresponse.Close();

            mywebclient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(myf_DownloadProgressChanged);
            mywebclient.DownloadFileCompleted   += new AsyncCompletedEventHandler(myf_DownloadFileCompleted);
            mywebclient.DownloadFileAsync(uri, uri_string.file_rename);
            time_start = DateTime.Now.Second + DateTime.Now.Minute * 60 + DateTime.Now.Hour * 3600;
            task_count++;
            if (task_count > 0)
            {
                Cdownloaditem_info download_info = new Cdownloaditem_info()
                {
                    file_name = "QQ.rar", file_size = (download_file_size.ToString() + " MB"), file_progress = 0, remain_time = "0:00:00", download_speed = "10KB/s"
                };
                DownLoadItem downloaditem = new DownLoadItem();
                downloaditem.Downloaditem_info = download_info;
                ctrl_download_list.Items.Add(downloaditem);
            }
        }
Esempio n. 3
0
        public void myf_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
        {
            //Cdownloaditem_info download_info = new Cdownloaditem_info(){file_name = "QQ.rar", file_size = "1MB", file_progress = 0, remain_time = "0:00:00", download_speed = "10KB/s" };
            //download_info.file_progress = (uint)e.ProgressPercentage;
            DownLoadItem download_item = this.ctrl_download_list.Items[0] as DownLoadItem;

            download_item.ctrl_progress.Content = e.ProgressPercentage.ToString() + "%";
            long   time_now       = DateTime.Now.Second + DateTime.Now.Minute * 60 + DateTime.Now.Hour * 3600;
            double download_speed = download_file_size * e.ProgressPercentage / 100 / (time_now - time_start);

            download_speed = Math.Round(download_speed, 2);
            download_item.ctrl_download_speed.Content = download_speed.ToString() + " MB/s";
        }