我正在製作一個可以下載更新的winform程序。使進度條顯示下載狀態
我想做一個進度條,顯示下載的狀態。我寫了與我看到的其他所有內容完全相同的文章 (diffrent download url of of course:https://dl.dropboxusercontent.com/.../update.xml?token_hash=SOME_HASH&dl=1)
我想它是正確的鏈接,因爲它的直接下載鏈接。
我不知道這是否重要,但下載update.xml文件的表單不是我的主要形式。我看到的其他人,以主窗體的形式編寫了代碼。我的主表單有一個「檢查更新」按鈕,並且該按鈕打開更新表單。
我正在使用:System.Net和所有默認的「使用」當您創建一個winform窗體。
public partial class Update : Form
{
public Update()
{
InitializeComponent();
}
private void Update_Load(object sender, EventArgs e)
{
WebClient client = new WebClient();
string desktop = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
client.DownloadFileAsync(new Uri("https://dl.dropboxusercontent.com/s/.../update.xml?token_hash=...&dl=1"), desktop);
}
void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
progressBar1.Maximum = (int)e.TotalBytesToReceive/100;
progressBar1.Value = (int)e.BytesReceived/100;
}
void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
label2.Text = "Download Completed";
}
}
這是從somone誰使它的工作,但它仍然不適合我! (編程簡而言之:D)
任何幫助將不勝感激,在此先感謝!
編輯:我很抱歉,我以前不夠清楚。該文件甚至沒有下載,這就是問題所在。但無論如何它現在已經修復了。
我會記住,如果我需要更多的幫助。
您不應在示例代碼中包含真實憑據(例如'client.DownloadFileAsync'調用中的'token_hash'查詢參數)。 –
@OndrejTucny,儘管它是真實的,但是不起眼,:) – David
「它不起作用」是完全沒有幫助的。什麼不行?你有沒有發生異常,什麼都沒有發生,是不是更新,直到完成,或什麼?請詳細描述發生的情況以及應該發生的情況。 – Servy