Client/GamerServices/Systems/Forms/FormFileDownloader.cs

52 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Net;
using System.Windows.Forms;
namespace GamerServices {
public partial class FormFileDownloader : Form {
public string URL = "";
public string FilePath = "";
public bool AutoExec = false;
public bool Completed = false;
public FormFileDownloader() {
InitializeComponent();
}
public void StartDownload() {
WebClient c = new WebClient();
c.Proxy = null;
c.DownloadProgressChanged += new DownloadProgressChangedEventHandler(c_DownloadProgressChanged);
c.DownloadFileCompleted += new AsyncCompletedEventHandler(c_DownloadFileCompleted);
c.DownloadFileAsync(new Uri(URL), FilePath);
}
void c_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e) {
this.Completed = true;
if (e.Cancelled) {
MessageBox.Show("Error while downloading file: \"" + URL + "\" to \"" + FilePath + "\"");
return;
}
if (this.AutoExec)
System.Diagnostics.Process.Start(FilePath);
this.Close();
}
void c_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e) {
if (e.ProgressPercentage > -1 && e.ProgressPercentage < 101)
this.progressBar1.Value = e.ProgressPercentage;
}
}
}