Hallo miteinander,
erstmal ein tolles Forum hier, ihr habt mir mit euren Beiträgen schon sehr weitergeholfen bisher.
Ich bin aktuell dabei für eine Spielemodifikation einen Installer/Downloader/Starter zu bauen und habe dazu ein Tutorial für einen C# - Downloader gefunden, in welchem ein Code-Snippet war um dies zu realisieren.
Dies hab ich nachgebaut, erweitert das er per Zufallszahl einen Server wählt und kleine Anpassungen bezüglich dem Speicherort gemacht. Nach dem Herunterladen der Datei (.exe Datei) startet er diese und es kann installiert werden.
Nach der Installation kann der Starter dafür verwendet werden, das Spiel etwas anzupassen und Einstellunge vorzunehmen.
Nun mein Problem:
Nachdem ich auf Download drücke, bleibt die Anwendung stehen und ist nicht mehr verwendbar. Bei Test's mit Benutzern hat sich gezigt, dass diese dann nach einer Zeit währrend die Datei noch downloadet auf das Programm drücken und es sich wegen des laufenden Prozesses öfters aufhängt.
Wie kann ich also eine ProgressBar einbinden, damit der User den Status sieht? Wie man sie einbindet und weiterberechnet das er sich "füllt" weiß ich, nur wie lese ich den Downloadprozess aus und werte diesen immer wieder aus um es zu aktualisieren?
Ich wäre sehr dankbar über eure Hilfe!
Danke,
Patrick
Hallo und willkommen.
Bitte nimm Dir - falls noch nicht geschehen - und lies Dir nochmals [Hinweis] Wie poste ich richtig? durch.
Deine Fragen laufen nämlich auf Grundlagen heraus (Punkt 1.1 und Punkt 1.1.1).
Du musst ermitteln, wie viel Bytes der Download in der Totalen hat und wie viel bereits geladen wurden.
Mittelst der Startzeit und der durchschnittlichen Downloadrate kannst Du auch in etwa die Restzeit berechnen.
Siehe auch
[FAQ] Warum blockiert mein GUI?
[FAQ] Controls von Thread aktualisieren lassen (Control.Invoke/Dispatcher.Invoke)
Vielen Dank und viel Erfolg weiterhin.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code