Beispiel #1
0
        /// <summary>
        /// 处理btnDownload 单击事件。
        /// </summary>
        private void btnDownload_Click(object sender, EventArgs e)
        {
            try
            {

                // 检查文件是否存在。
                if (File.Exists(tbPath.Text.Trim()))
                {
                    string message = "已经存在一个同命名的文件,要覆盖它吗?"
                            + "如果不,请改变存储路径。";
                    var result = MessageBox.Show(
                        message,
                        "文件名冲突: " + tbPath.Text.Trim(),
                        MessageBoxButtons.OKCancel);

                    if (result == System.Windows.Forms.DialogResult.OK)
                    {
                        File.Delete(tbPath.Text.Trim());
                    }
                    else
                    {
                        return;
                    }
                }

                if (File.Exists(tbPath.Text.Trim()+".tmp"))
                {
                    File.Delete(tbPath.Text.Trim() + ".tmp");
                }

                // 设置下载的路径。
                downloader.DownloadPath = tbPath.Text.Trim() + ".tmp";

                // 加载 HttpDownloadClient事件。
                downloader.DownloadCompleted += new EventHandler<MultiThreadedWebDownloaderCompletedEventArgs>(
                    DownloadCompleted);
                downloader.DownloadProgressChanged +=
                    new EventHandler<MultiThreadedWebDownloaderProgressChangedEventArgs>(DownloadProgressChanged);
                downloader.StatusChanged += new EventHandler(StatusChanged);
                downloader.ErrorOccurred += new EventHandler<ErrorEventArgs>(ErrorOccurred);
                // 开始下载文件。
                downloader.Start();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }