private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
for (int i = 1; i <= lines.Length; i++)
{
if (lines[i].Contains("Code"))
{
string countryCode = lines[i].Substring(15);
using (var client = new WebClient())
{
client.DownloadFileCompleted += Client_DownloadFileCompleted;
Uri uri = new Uri("http://api.sat24.com/animated/" + countryCode + "/infraPolair/1/JerusalemStandardTime/1897199");
client.DownloadFile(uri, @"c:\temp\" + countriesNames[countCountries] + ".gif");
}
backgroundWorker1.ReportProgress(i * 100/lines.Length);
countCountries++;
}
}
}
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
label1.Text = e.ProgressPercentage.ToString() + "%";
}
Alle Gifs werden in Ordnung, aber es wird auf 97% bleiben. Ich könnte im Hintergrundarbeiter abgeschlossene Ereignis der Fortschrittsbalkenwert auf 100 setzen, aber das ist keine echte Lösung, denke ich.Warum die progressBar auf 97% und nie auf 100% kommt?
Ein weiteres Problem ist, wie kann ich mit dem ersten gif heruntergeladen werden? Es sind animierte Gifs und ich möchte, dass die erste heruntergeladen wird, um sie in PictureBox1 anzuzeigen. Soll ich dafür den WebClient-Download abgeschlossen durchführen?
Zu 98% mit diesen Änderungen. –
@DanielDejunior überprüfen mit Debugger. Wahrscheinlich löst Ihr Code irgendwo eine Ausnahme aus. und im Grunde kann es nicht weitergehen. Setzen Sie den Haltepunkt und gehen Sie Schritt für Schritt, um zu sehen, wo Sie Fehler bekommen. –