我正在制作一个可以下载更新的winform程序。
我正在尝试创建一个显示下载状态的进度条。我写的和我看到的其他人一样 (不同的下载网址:https://dl.dropboxusercontent.com/.../update.xml?token_hash=SOME_HASH&dl=1)
我认为它是正确的链接,因为它是直接下载链接。
我不知道这是否重要,但下载update.xml文件的表单不是我的主要表单。我看到的其他人,在主窗体中编写了代码。我的主表单有一个“检查更新”按钮,该按钮打开更新表单。
我在创建winform表单时使用:System.Net和所有默认的“usings”。
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)
任何帮助将不胜感激,提前谢谢!
编辑:对不起,我之前并不清楚。该文件甚至没有下载,这就是问题所在。但现在它已经修好了。如果我需要更多帮助,我会记住这一点。
答案 0 :(得分:3)
尝试使用以下命令更改DownloadFileAsync命令行:
client.DownloadFileAsync(new Uri("http://download.thinkbroadband.com/10MB.zip"), desktop + "test.zip");
......看看是否有帮助。