Hej! Jag kan inte svara på din fråga, men kan inte låta bli att kommentera att ditt namn är väldigt passande i sammanhanget. Tack så mycket det funkade perfekt, men nu vill jag även förstå koden också, som ni förstår är jag nybörjare med detta. Det du behöver läsa på om är Events. Metoden ovan som jag gav dig är en event-metod. Alltså en metod som körs vid en viss händelse. I detta fall när progressen ändras. Hej! Som sagt är det en metod som anropas när en knapp trycks ner. Du behöver egentligen inte förstå den koden i detalj, innan du lärt dig hur metoder och events fungerar, eftersom man inte skriver den själv. Nu förstår jag vad det gör, tack så mycket för hjälpen :)Webbläsare - process
Jag gjorde en enkel webbläsare i Visual Basic 2008 professional.
jag har kommit så långt att man kan skriva in adressen i ett adressfält och trycka på knappar som uppdatera, stop, gå fram, gå bak.
Nu till min fråga, jag har sökt på google men jag har inte fått något bra svar, vet någon här hur man gör så att man kan se processen innan hela sidan är klarladdad, gärna i procent också?
Tack på förhandSv: Webbläsare - process
En liten fråga: Har du byggt parsning och rendering själv eller använder du en färdig webbläsarkomponent och har bara tillfört några kontroller för att navigera?Sv: Webbläsare - process
Private Sub WebBrowser1_ProgressChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserProgressChangedEventArgs) Handles WebBrowser1.ProgressChanged
ProgressBar1.Maximum = e.MaximumProgress
ProgressBar1.Value = e.CurrentProgress
End Sub
State kan läsas ut ur WebBrowser1.ReadyState som kan vara t.ex. WebBrowserReadyState.Complete eller WebBrowserReadyState.Loading.
Sv:Webbläsare - process
Private Sub wb_ProgressChanged(ByVal...
Där förstår ja ju att denna koden in om { } ska köras under webbläsare processen alltså när den laddar in en sida.
Men om jag nu har ett fält där man ska skriva in en adress, hur kan jag få en kod att köras om man trycker enter?
Det frågan egentligen är, är: Om jag dubbelklickar på textfältet, då får jag bara upp koden textchanged, om jag vill ha vid knapptryck hur gör jag då?
Hoppas ni förstår min kladdiga fråga!
Tack //AlbertSv: Webbläsare - process
Normalt så skriver man inte denna metoden själv, utan låter Visual Studio göra det åt en genom att man väljer event eller dubbelklickar på en kontroll.
Det finns även ett event som körs när du trycker på en knapp, t.ex. Enter.
Markera din address-textbox i VS-designern.
Tryck på blixten i VS och leta upp eventet KeyDown. Dubbelklicka i den tomma rutan till höger om namnet.
Lägg till kod som kollar vilken knapp som trycks.
När du är klar ska det se ut så här:
Private Sub TextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyValue = Keys.Enter Then
WebBrowser1.Url = New Uri(TextBox1.Text)
End If
End Sub
Sv:Webbläsare - process
Sorry att jag inte svarat innan...
Om du har lust och tid, så får du jättegärna förklara vad denna koden gör, förstår lättare då:
Private Sub TextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
Som sagt du behöver inte men jag skulle uppskatta det jätte mycket :)
Tack //AlbertSv: Webbläsare - process
Namnet på metoden är TextBox1_KeyDown och den har 2 parametrar som skickas med när metoden anropas. Den första med namnet 'sender' innehåller oftast objektet/kontrollen som triggat eventet. I detta fallet troligen TextBox1. Den andra med namnet 'e' innehåller argument/information om vad som hände. I detta faller läser vi ut från e vilken knapp som trycktes.Sv:Webbläsare - process
Det är liknande actionscript i AS3 för dom som kan det :P