Frage von ModPascii, 33

Bei Visual Basics 2008 Progressbar mit download verknüpfen?

Hallo User,

Ich danke euch schon mal für die Antworten. Mein Problem ist folgendes, ich habe/will einen Launcher für meinen Arma 3 Server machen. Ich habe alles soweit eingestellt er downloadet alles aber nur das mit der Progress bar kriege ich nicht zum laufen. Könnt mir jmd helfen?

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von geri3d, 23
Hier ein Beispiel:

Imports System.Net

Public Class Form1

Private Sub btn_start_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_start.Click
Dim wc As New WebClient
AddHandler wc.DownloadProgressChanged, AddressOf DownloadProgressChanged
AddHandler wc.DownloadFileCompleted, AddressOf DownloadFileCompleted
wc.DownloadFileAsync(New System.Uri("http.//adresse"), My.Application.Info.DirectoryPath & "/file.xxx")


End Sub

Public Sub DownloadProgressChanged(ByVal sender As Object, ByVal e As DownloadProgressChangedEventArgs)
progress_download.Value = e.ProgressPercentage
lbl_Info.Text = e.BytesReceived & "/" & e.TotalBytesToReceive

End Sub

Public Sub DownloadFileCompleted(ByVal sender As Object, ByVal e As EventArgs)
progress_download.Value = 0
lbl_Info.Text = "Download fertig"
MessageBox.Show("Download fertig!", "Downloader", MessageBoxButtons.OK)

End Sub

End Class


Kommentar von ModPascii ,

Danke für die hilfe jetzt klapts. aber ich musst 2 zeilen löschen und zwar:  

lbl_Info.Text = e.BytesReceived & "/" & e.TotalBytesToReceive
lbl_Info.Text = e.BytesReceived & "/" & e.TotalBytesToReceive

Die wurden bei mir nicht erkannt also sie waren unterstrichen und es wurde keine lösung angezeigt,

Kommentar von ModPascii ,

ich meinte als  2 zeile das hier: 

        lbl_Info.Text = "Download fertig"
Kommentar von geri3d ,

Ja, Sorry, das Beispiel erfordert ein Label mit diesem Namen aber es geht auch ohne Label. Das kannst du aber auch noch hinzufügen damit der Fortschritt des Downloads angezeigt wird.

Antwort
von regex9, 26

Was hast du denn bisher versucht und was ist dein Konzept? Dein Bild zum Programmcode zählt nicht, denn dort ist offensichtlich noch keine Implementierung der Progressbar vorgenommen worden.

Kommentar von ModPascii ,

Ja der code von der Bar habe ich da schon raus genommen, weil er nicht geklappt hat, ich muss auch sagen das ich noch ein laie bin, hab bis jetzt nur aus anderen Foren codes kopiert.

Kommentar von regex9 ,

Mit nur Copy&Paste lernst du aber nichts.

Eine ProgressBar (https://msdn.microsoft.com/de-de/library/system.windows.forms.progressbar(v=vs.110).aspx oder https://msdn.microsoft.com/de-de/library/system.windows.forms.toolstripprogressb...(v=vs.110).aspx) hat in der Regel 3 Eigenschaften: Minimum (0), Maximum (100) und den aktuellen Wert. 

Du musst dir während des Downloads den Status berechnen und bei jeder Änderung den Wert der ProgressBar neu setzen. Auf die Änderung des Download-Prozesses kannst du mit einem Event-Handler reagieren, der auf den Webclient hört. Welcher das ist, erfährst du über die Dokumentation: https://msdn.microsoft.com/de-de/library/system.net.webclient(v=vs.110).aspx .

Im Event-Handler setzt du den neuen Wert der ProgressBar. Den prozentualen Wert des Downloadprozesses bekommst du über das Eventargument: https://msdn.microsoft.com/de-de/library/system.net.downloadprogresschangedevent...(v=vs.110).aspx.

Kommentar von ModPascii ,

Danke viel mal das brachte mich um einiges weiter.

Keine passende Antwort gefunden?

Fragen Sie die Community