Möglichkeit 1 von FeelingFree etwas editiert:
2 ProgressBar's in die Form setzen, und als erstes die Dateien überprüfen, welche gepatcht werden müssen und deren Länge der Remotedatei in einer Variable speichern (z.B. int i = 0; i += file1.Length; i+= file2.Length;[...]).
Somit hättest du schonmal die Gesamtanzahl der Bytes, die du downloaden musst.
Dann fängst du an, die benötigten Dateien zu downloaden, und editierst die erste Progressbar wiefolgt (Achtung, hier auch auf float umwandeln, da es sonst zu Datenverlust kommt):
progressBar1.Progress = (progress->currentFileDownSize / progress->currentFileSize) * 100
Somit hättest du schonmal den %-stand der momentanen Datei. Du müsstest dann noch in einer Variable (nennen wir sie mal j) noch die insgesamt geladenen Bytes addieren (im normalfall return't eine .Read()-Funktion (ich weiß ja nicht, womit du arbeitest) die Anzahl der bytes, die geladen wurden.
Als Beispiel:
Code:
while(br = filedat->Read(buffer, 50))
{
// Code here
}
Hier müsstest du dann j += br rechnen.
Bei der unteren Progressbar ein ähnliches Prinzip (j & i aus den Beispielen wie zuvor) (Achtung, hier auch auf float umwandeln, da es sonst zu Datenverlust kommt):
progressBar2.Progress = j / i * 100
Das wäre sogesehen die Idee dahinter. Die o.g. Variablen & co. dienen nur als Beispiel, nicht als echten Code. Wie du das nun umsetzt liegt an dir, die Rechnung hast du ja nun ;P