VB 2010 Webbrowser - Progressbar Frage

02/14/2011 11:54 Blitz100#1
Guten Tag!
Ich habe ein Problem und zwar wenn man das mit Webbrowser1_ProgressChanged (oder so) das mit der ToolstripProgressbar macht mit dem Code
Code:
ToolStripProgressbar1.Maximum = e.Maximum...
ToolStripProgessbar1.Value = e.CurrenProgress
(Halt der Code.. ich glaub die meisten wissen was gemeint ist.)

Bei mir kommt dann immer ein Fehler wenn ich eine Seite aufrufe...

Bitte helft mir... :S
02/14/2011 12:51 -AmA-#2
ich seh mal nach...
Aber wir sollten schon die Fehlermeldung zu sehen kriegen....
Dan kann ich auch gleich sagen was falsch ist

Edit:

Geschrieben in C#, konvertiert in VB mit Reflector:

PHP Code:
    Private Sub webBrowser1_ProgressChanged(ByVal sender As ObjectByVal e As WebBrowserProgressChangedEventArgs)
        
Me.toolStripProgressBar1.Maximum Convert.ToInt32(e.MaximumProgress)
        
Me.toolStripProgressBar1.Value Convert.ToInt32(e.CurrentProgress)
    
End Sub 
02/14/2011 13:39 Blitz100#3
okay, danke schonmal ich kann es gleich erst testen, weil ich an psp bin

€Dit: Geht nicht :S ...

Fehler :

Der Wert -1 ist für Value ungültig. Value sollte zwischen 'minimum' und 'maximum' liegen.
Parametername: Value

Code:
Me.toolStripProgressBar1.Value = Convert.ToInt32(e.CurrentProgress)
02/14/2011 20:48 Yakiyo#4
Ein bisschen suchen ;)

Code:
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
      Me.ProgressBar1.Maximum = 0
      Me.ProgressBar1.Maximum = 100
  End Sub

  Private Sub WebBrowser1_ProgressChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserProgressChangedEventArgs) Handles WebBrowser1.ProgressChanged
      Me.ProgressBar1.Value = CType((e.CurrentProgress / e.MaximumProgress) * 100, Integer)
  End Sub

  Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
      Me.ProgressBar1.Value = 0
  End Sub
02/15/2011 17:56 Blitz100#5
Me.ToolStripProgressBar1.Value = CType((e.CurrentProgress / e.MaximumProgress) * 100, Integer)

Dividieren durch 0 oder so??
Muss ich bei Interger was einsetzen, weil bin total neu :D
Kann zwar schon etwas aber nicht sowas :P
02/15/2011 18:07 Yakiyo#6
[Only registered and activated users can see links. Click Here To Register...]
02/15/2011 18:51 Blitz100#7
Kann damit nichts anfangen?
02/15/2011 19:29 Yakiyo#8
Hast du dir den Thread angeguckt?
Wenn ja, wüsstest du wie es geht o.ô
Ich werde den Code nicht erklären, weil alle immer nur Copy & Paste machen wollen, anstatt zu lernen :X

lg ~
02/17/2011 19:18 Kraizy​#9
Ich versteh dein Problem nicht so ganz..friseur hat dir die Lösung doch schon mehrmals gezeigt. ProgressBar.Value = e.CurrentProgress das packste in das WebBrowser_ProgressChanged-Ereignis. ProgressBar.Minimium setzt du auf 0 und .Maximum auf 100..
02/18/2011 12:50 -AmA-#10
Quote:
Originally Posted by Fisticuff View Post
Ich versteh dein Problem nicht so ganz..friseur hat dir die Lösung doch schon mehrmals gezeigt. ProgressBar.Value = e.CurrentProgress das packste in das WebBrowser_ProgressChanged-Ereignis. ProgressBar.Minimium setzt du auf 0 und .Maximum auf 100..
Lol Fail!
So hat ers aber nicht gezeigt xD
Sieh dir den Code nochmal an -.-

Und auf deine Frage:
Quote:
Dividieren durch 0 oder so??
Muss ich bei Interger was einsetzen, weil bin total neu
Kann zwar schon etwas aber nicht sowas :P
Lass den Code so wie er ist... dort muss Integer stehen...
CType((e.CurrentProgress / e.MaximumProgress) * 100, Integer)
Und zwar weil CType als 2.ter Parameter der Datentyp der ausgegeben werden soll verlangt... Also Integer.
02/19/2011 15:53 Kraizy​#11
Quote:
Originally Posted by -AmA- View Post
Lol Fail!
So hat ers aber nicht gezeigt xD
Sieh dir den Code nochmal an -.-
Ähm..ich hab mir den Code sehr wohl angeschaut..jedoch:
PHP Code:
Me.ProgressBar1.Value CType((e.CurrentProgress e.MaximumProgress) * 100Integer
Wozu soll man da was teilen?? Da reicht einfach nur ProgressBar1.Value = e.CurrentProgress (evtl. an Option Strict anpassen) aus, da wird kein Fehler kommen -.-
Und:
PHP Code:
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As ObjectByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgsHandles WebBrowser1.DocumentCompleted
        Me
.ProgressBar1.Value 0
    End Sub 
Das hier kann man schon gleich ganz weg lassen, denn die ProgressBar wird automatisch nach dem Laden der Seite zurückgesetzt..

Außerdem ergibt das hier nicht grade viel Sinn:
PHP Code:
Private Sub Form1_Load(ByVal sender As ObjectByVal e As System.EventArgsHandles Me.Load
        Me
.ProgressBar1.Maximum 0
        Me
.ProgressBar1.Maximum 100
    End Sub 
Wozu 2x .Maximum? Standartmäßig ist die ProgressBar schon auf Minimum 0 und Maximum 100, also kann man das auch weglassen..
02/25/2011 17:23 Blitz100#12
Wenn ich das so habe in VB 2010:

Code:
    Private Sub WebBrowser1_ProgressChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserProgressChangedEventArgs) Handles WebBrowser1.ProgressChanged

        Me.ToolStripProgressBar1.Value = CType((e.CurrentProgress / e.MaximumProgress) * 100, Integer)
Kommt IMMER OverFlowException wurde nicht von Benutzer Behandelt.

Blaa...

Dividieren Sie nicht durch 0!
02/25/2011 19:12 Kraizy​#13
Was genau willst du denn machen? Den Fortschritt anzeigen wie viel eine Seite schon geladen wurde? Lösch mal deine ProgressBar und füge eine neue hinzu, als Standardeigenschagt müsste Minimum auf 0 und Maximum auf 100 sein. Nun gehst du ins WebBrowser_ProgressChanged und fügst das ein:
ProgressBar1.Value = e.CurrentProgress. Fertig! Da kommt kein Fehler...