login  Naam:   Wachtwoord: 
Registreer je!
 Tutorials

Tutorials > VB.NET


Gegevens:
Geschreven door:
Koen
Moeilijkheidsgraad:
Gemakkelijk
Hits:
24256
Punten:
Aantal punten:
 (4.22)
Aantal stemmen:
18
Stem:
Niet ingelogd
Nota's:
 Lees de nota's (27)
 


Tutorial:

Simpele Webbrowser maken (VB.NET)

1. Inleiding
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:
resultaat

Een kleine kennis van Forms is nodig, deze kan je opdoen in de prima tutorial van Titjes.

pijl top
2. Beginnen

Om te beginnen openen we een nieuw project.
1.gif
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


pijl top
3. Layout

Nu gaan we de layout van de form onder handen nemen.
Selecteer in de toolbox de optie 'WebBrowser', zoals hieronder:
2
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:
3
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.

pijl 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 Form1
Private 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



pijl top
5. Uitleg

Private 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

Wanneer er op de 'Home'-knop wordt gedrukt, navigeren we naar de ingestelde startpagina van je browser met behulp van .GoHome().
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.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

Wanneer 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,
Dan navigeren we de browser naar de ingevoerde tekst.

    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

Met deze functies controleren we of we met de browser terug of vooruit kunnen, als dat zo is dan wordt de terug/vooruit knop geactiveerd.

    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_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

Met deze functies updaten we de veld_adres met de url in zodra er door de webbrowser wordt genavigeerd.

    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_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

Met deze functies updaten we de titel en de statusbar.

Druk op de 'play' knop om het eindresultaat te bekijken:
resultaat
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 SimpleWebBrowser
Je vindt je programma dan hier terug:
ProjectsSimpleWebBrowserSimpleWebBrowserinRelease


pijl 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.


pijl top


« Vorige tutorial : Rekenmachine Volgende tutorial : MYSQL gegevens in DataGridView »

© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.011s