| 1. InleidingSimpele Webbrowser maken (VB.NET)
 2. Beginnen
 3. Layout
 4. Code
 5. Uitleg
 6. Nawoord
 
 1. Inleiding
 
 Hallo!
In deze tutorial gaan we leren hoe we met Visual Basic.NET een simpele webbrowser maken.
Voorbeeld:
 
  
 Een kleine kennis van Forms is nodig, deze kan je opdoen in de prima tutorial van Titjes.
 
 
  top 2. Beginnen
 
 Om te beginnen openen we een nieuw project.
 
  Klik nu op de form en pas onderstaande eigenschappen aan:
 Name: Form1
 Size: 851; 809 (maakt weinig uit, aangezien we hem automatisch laten maximaliseren..)
 Text: My Webbrowser v1.0
 WindowState: Maximized
 
 
 
  top 3. Layout
 
 Nu gaan we de layout van de form onder handen nemen.
 Selecteer in de toolbox de optie 'WebBrowser', zoals hieronder:
 
  Eigenschappen:
 Name: WebBrowser1
 Anchor: Top, Bottom, Left, Right
 URL: http://www.google.be (de begin url, deze mag jij natuurlijk zelf kiezen)
 
 Anchors zijn hier nodig zodat wanneer de form gemaximaliseerd is, dat de verhoudingen juist blijven.
 Nu voegen we de benodigde knoppen en tekstvelden aan, zoals hieronder:
 
  Noem ze opeenvolgende zo: knop_home, knop_refresh, knop_vorige, knop_volgende, veld_adres en knop_go.
 Zorg hier er ook weer voor dat de anchors juist zijn:
 knop_home: Top, left
 knop_refresh: Top, left
 knop_vorige: Top, left
 knop_volgende: Top, left
 veld_adres: Top, left, right
 knop_go: Top, Right
 Voor knop 3 en 4 doen we nog iets extra, aangezien je nog niet kan teruggaan, of vooruit gaan, zetten we Enabled op False.
 We voegen ook onderaan een statusbar toe (StatusStrip).
 Voeg in die statusstrip ook nog een ToolStripStatusLabel toe(Eigenschappen van de StatusStrip, items), met als TextAlign 'MiddleLeft', ToolStripStatusLabel1 genaamd.
 
 
  top 4. Code
 
 Nu gaan we de Visual Basic code aanmaken, dubbelklik op de form en vervang wat er eventueel al staat door onderstaande code:
 
Public Class Form1Private Sub knop_home_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles knop_home.Click
 WebBrowser1.GoHome() ' Home knop.
 End Sub
 
 Private Sub knop_refresh_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles knop_refresh.Click
 WebBrowser1.Refresh() ' Refresh knop.
 End Sub
 
 Private Sub knop_vorige_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles knop_vorige.Click
 WebBrowser1.GoBack() ' Vorige knop.
 End Sub
 
 Private Sub knop_volgende_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles knop_volgende.Click
 WebBrowser1.GoForward() ' Volgende knop.
 End Sub
 
 Private Sub knop_go_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles knop_go.Click
 Dim gototext As String = veld_adres.Text ' Navigeer naar ingevoerde pagina
 If gototext <> "" And gototext <> "http://" And gototext.StartsWith("http://") = True Or gototext.StartsWith("https://") = True Or gototext.StartsWith("ftp://") = True Then ' Spreekt voor zich..
 Dim uritext As New Uri(gototext)
 WebBrowser1.Navigate(uritext)
 End If
 End Sub
 
 Private Sub WebBrowser1_CanGoBackChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles WebBrowser1.CanGoBackChanged
 If WebBrowser1.CanGoBack = False Then ' Als je niet terug kan gaan, de knop < disablen
 knop_vorige.Enabled = False
 Else
 knop_vorige.Enabled = True ' Tegenovergestelde
 End If
 End Sub
 
 Private Sub WebBrowser1_CanGoForwardChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles WebBrowser1.CanGoForwardChanged
 If WebBrowser1.CanGoForward = False Then ' Als je niet verder kan, de knop > disablen
 knop_volgende.Enabled = False
 Else
 knop_volgende.Enabled = True ' Tegenovergestelde
 End If
 End Sub
 
 Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
 Dim currenturl As String = WebBrowser1.Url.ToString()
 veld_adres.Text = currenturl ' De veld_adres met de URL in updaten bij het laden van de browser.
 End Sub
 Private Sub WebBrowser1_DocumentTitleChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles WebBrowser1.DocumentTitleChanged
 Dim title As String = WebBrowser1.DocumentTitle()
 Me.Text = "My Webbrowser v1.0 - " & title ' De titel updaten.
 End Sub
 Private Sub WebBrowser1_Navigated(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserNavigatedEventArgs) Handles WebBrowser1.Navigated
 Dim currenturl As String = WebBrowser1.Url.ToString()
 veld_adres.Text = currenturl ' De veld_adres met de URL in updaten.
 End Sub
 Private Sub WebBrowser1_StatusTextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles WebBrowser1.StatusTextChanged
 Dim statustext As String = WebBrowser1.StatusText
 ToolStripStatusLabel1.Text = statustext ' Statusbar updaten.
 End Sub
 End Class
 
 
 
  top 5. Uitleg
 
 
 
Private Sub knop_home_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles knop_home.ClickWanneer er op de 'Home'-knop wordt gedrukt, navigeren we naar de ingestelde startpagina van je browser met behulp van .GoHome().WebBrowser1.GoHome() ' Home knop.
 End Sub
 
 Private Sub knop_refresh_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles knop_refresh.Click
 WebBrowser1.Refresh() ' Refresh knop.
 End Sub
 
 Private Sub knop_vorige_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles knop_vorige.Click
 WebBrowser1.GoBack() ' Vorige knop.
 End Sub
 
 Private Sub knop_volgende_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles knop_volgende.Click
 WebBrowser1.GoForward() ' Volgende knop.
 End Sub
 
 Wanneer er op de 'Refresh'-knop wordt gedrukt, refreshen we de browser met behulp van .Refresh().
 Wanneer er op de 'Terug'-knop wordt gedrukt, navigeren we naar de vorige pagina met behulp van .GoBack().
 Wanneer er op de 'Volgende'-knop wordt gedrukt, navigeren we naar de volgende pagina met behulp van .GoForward().
 
 
    Private Sub knop_go_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles knop_go.ClickWanneer er op de 'Ga naar'-knop wordt gedrukt wordt er met de functie If gecontroleerd of de inhoud van de veld_adres wel een URL is,Dim gototext As String = veld_adres.Text ' Navigeer naar ingevoerde pagina
 If gototext <> "" And gototext <> "http://" And gototext.StartsWith("http://") = True Or gototext.StartsWith("https://") = True Or gototext.StartsWith("ftp://") = True Then ' Spreekt voor zich..
 Dim uritext As New Uri(gototext)
 WebBrowser1.Navigate(uritext)
 End If
 End Sub
 
 Dan navigeren we de browser naar de ingevoerde tekst.
 
 
    Private Sub WebBrowser1_CanGoBackChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles WebBrowser1.CanGoBackChangedMet deze functies controleren we of we met de browser terug of vooruit kunnen, als dat zo is dan wordt de terug/vooruit knop geactiveerd.If WebBrowser1.CanGoBack = False Then ' Als je niet terug kan gaan, de knop < disablen
 knop_vorige.Enabled = False
 Else
 knop_vorige.Enabled = True ' Tegenovergestelde
 End If
 End Sub
 
 Private Sub WebBrowser1_CanGoForwardChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles WebBrowser1.CanGoForwardChanged
 If WebBrowser1.CanGoForward = False Then ' Als je niet verder kan, de knop > disablen
 knop_volgende.Enabled = False
 Else
 knop_volgende.Enabled = True ' Tegenovergestelde
 End If
 End Sub
 
 
 
    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompletedMet deze functies updaten we de veld_adres met de url in zodra er door de webbrowser wordt genavigeerd.Dim currenturl As String = WebBrowser1.Url.ToString()
 veld_adres.Text = currenturl ' De veld_adres met de URL in updaten bij het laden van de browser.
 End Sub
 Private Sub WebBrowser1_Navigated(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserNavigatedEventArgs) Handles WebBrowser1.Navigated
 Dim currenturl As String = WebBrowser1.Url.ToString()
 veld_adres.Text = currenturl ' De veld_adres met de URL in updaten.
 End Sub
 
 
 
    Private Sub WebBrowser1_DocumentTitleChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles WebBrowser1.DocumentTitleChangedMet deze functies updaten we de titel en de statusbar.Dim title As String = WebBrowser1.DocumentTitle()
 Me.Text = "My Webbrowser v1.0 - " & title ' De titel updaten.
 End Sub
 Private Sub WebBrowser1_StatusTextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles WebBrowser1.StatusTextChanged
 Dim statustext As String = WebBrowser1.StatusText
 ToolStripStatusLabel1.Text = statustext ' Statusbar updaten.
 End Sub
 
 
 Druk op de 'play' knop om het eindresultaat te bekijken:
 
   Je programma 'uitgeven'
 Zo, wanneer het eindresultaat je een beetje bevalt kan je je programma gaan 'uitgeven', zodat je het niet steeds moet openen via de play-knop ;-)
 Dit doe je zo:
 
 
Build > Build SimpleWebBrowserJe vindt je programma dan hier terug:
 ProjectsSimpleWebBrowserSimpleWebBrowserinRelease
 
  top 6. Nawoord
 
 Ik hoop dat jullie genoten hebben van mijn (eerste) tutorial, en er vooral iets van geleerd hebben!
 Aanvullende commentaar en reacties kunnen worden geplaatst bij reacties.
 Wanneer je een slechte score geeft, zeg dan ook waarom.
 
 
 
  top 
 
 |