Progressbar -> ungenau?

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von nikeee13.

    Progressbar -> ungenau?

    Hallo Leute

    ich hab n kleines Problem mit meinen FTP Upload Programm.

    Und zwar hab ich in den Upload ne Progressbar eingebaut, aber die macht nich ganz was sie soll.

    Sie füllt sich zwar beim uploading, aber nur bis ca. 50% dann springt sie direkt auf 100%.

    Das heißt, wenn der upload zu 50% fertig ist, steht die Progressbar erst auf 25% oder so... 8|

    Wie bekomme ich die genauer?

    Ich hab den Uploadprozess auch schon in nen extra "Thread" gepackt, bingt aber auch nix... :cursing:


    Codeschnipsel:

    VB.NET-Quellcode

    1. Public Sub Upload()
    2. If MessageBox.Show("Wollen sie die Datei hochladen", "Uploading...", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
    3. Try
    4. WebClient.Credentials = New NetworkCredential(Username, Password)
    5. WebClient.UploadFileAsync(New Uri(FTP & Datenname), Datenpfad)
    6. Catch ex As Exception
    7. MsgBox("Fehler beim hochladen der Datei!")
    8. End Try
    9. End If
    10. End Sub
    11. Private Sub WebClient_UploadProgressChanged(ByVal sender As Object, ByVal e As System.Net.UploadProgressChangedEventArgs) Handles WebClient.UploadProgressChanged
    12. ProgressBar1.Value = e.ProgressPercentage
    13. End Sub
    FileAsync ist bereits in einem extra Thread...
    Genauer, wie wärs mit dem Upload einer größeren Datei?
    Oder wenn du es selber machst und die Packetgröße festlegst, ist aber nicht vorteilhaft, dann haste zwar eine genauere anzeige, jedoch zugleich eine längere Uploaddauer...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Danke für die schnelle Antwort...

    Das FileAsync n extra thread is wunste ich nicht, aber daran liegt es eh nicht....

    Es ist egal wie groß die Datei ist.

    Der Upload ist schon fertig wenn die Progressbar erst auf 50% steht und springt dann einfach auf 100%.
    Das liegt, denke ich, daran, dass die Progressbar etwwas zu langsam reagiert bzw. ihre tollen animationen machen muss (auf XP müsste sie relativ "schnell" sein). Wenn du eine größere Datei hochlädst, dann kannst du sehen, dass sie eig. ziemlich "genau" ist.
    Ansonsten müsstest du mal mit dem Progressbarstyles rumspielen oder dir eine eigene Progressbar mit GDI malen.
    Von meinem iPhone gesendet