我正在制作一个可以下载更新的winform程序。
我正在尝试制作一个显示下载状态的进度条。我写的和我看到的所有其他人完全相同(当然不同的下载网址:https ://dl.dropboxusercontent.com/.../update.xml?token_hash=SOME_HASH&dl=1 )
我想它是正确的链接,因为它是直接下载链接。
我不知道这是否重要,但下载 update.xml 文件的表单不是我的主要表单。我看到的其他人以主要形式编写了代码。我的主表单有一个“检查更新”按钮,该按钮打开更新表单。
当您创建 winform 表单时,我正在使用:System.Net 和所有默认“使用”。
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";
}
}
这是从使它工作的人那里得到的,但它仍然对我不起作用!(简而言之编程:D)
任何帮助将不胜感激,在此先感谢!
编辑:我很抱歉我之前不够清楚。该文件甚至没有下载,这就是问题所在。但无论如何它现在已经修复了。
如果我需要更多帮助,我会记住这一点。