Navigateur web

Description

Un navigateur simple qui permet d'afficher des pages web avec une prise en compte de popups. Utile pour connaitre les propriétés et évènements de base du control WebBrowser.

Source / Exemple :


Public Class MainWindow

    '@@@@@@@@ OUATTARA G. ROMUALD @@@@@@@@
    '@@@@@@@@ WEBBROWSER @@@@@@@@

#Region "GESTION DE LA FENETRE PRINCIPALE"
    'Chargement de la fenetre
    Private Sub MainWindow_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'On demande à ce que le bouton go soit équivalent à la touche ENTREE
        'Comme sa on peut naviguer en tapant juste ENTREE
        Me.AcceptButton = Me.Go_BT
    End Sub
#End Region

#Region "GESTION DU/DES WEBBROWSER"
    'DocumentComplete permet de savoir si le page a fini de charger
    Private Sub WebBrowser_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser.DocumentCompleted
        'Si l'adresse du WebBrowser n'existe pas encore dans la barre d'addresse (AdresseURl_CB)
        'Cela permet d'éviter de copier plusieurs fois la même adresse dans le ComboBox
        If Me.AdresseURL_CB.Items.IndexOf(Me.WebBrowser.Url.ToString) < 0 Then
            'Alors on ajoute l'adresse
            Me.AdresseURL_CB.Items.Add(Me.WebBrowser.Url.ToString)
        End If
        'Ensuite on donne le titre de la page à l'onglet
        Me.Onglets.SelectedTab.Text = Me.WebBrowser.DocumentTitle
        'On donne aussi a la barre d'adresse l'adresse exacte de la page
        Me.AdresseURL_CB.Text = Me.WebBrowser.Url.ToString
        'On desactive le bouton stop
        Me.Stop_BT.Enabled = False
        'Si on peut repartir a la page precedente
        If Me.WebBrowser.CanGoBack Then
            'On active le bouton precedent
            Me.Precedent_BT.Enabled = True
        Else
            Me.Precedent_BT.Enabled = False
        End If
        'Si on peut repartir a la page siuvante
        If Me.WebBrowser.CanGoForward Then
            'On active le bouton suivant
            Me.Suivant_BT.Enabled = True
        Else
            Me.Suivant_BT.Enabled = False
        End If
    End Sub

    'NewWindow permet de savoir si une fenetre est en train de creer
    Private Sub WebBrowser_NewWindow(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles WebBrowser.NewWindow
        Dim elementActif As HtmlElement = WebBrowser.Document.ActiveElement  'On obtient l'element actif du webbrowser
        Dim popup As New PopWindow 'Cette variable va permettre de gerer la fenetre des popups
        popup.Addresse.Text = elementActif.GetAttribute("href") 'On donne le lien a la barre d'addresse
        popup.WebBrowser1.Navigate(elementActif.GetAttribute("href")) 'On navigue vers l'addresse du popup
        popup.Visible = True 'Et on affiche la fenetre de popup
        e.Cancel = True 'on annule l'ouverture dans IE
    End Sub

    'Pendant le chargement de la fenetre
    Private Sub WebBrowser_Navigating(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserNavigatingEventArgs) Handles WebBrowser.Navigating
        'On desactive le bouton stop
        Me.Stop_BT.Enabled = True
    End Sub
#End Region

#Region "GESION DES BOUTONS"
    'Si on clique sur GO
    Private Sub Go_BT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Go_BT.Click
        'Si le contenu de la barre d'adresse est sous l'une des formes suivantes
        'C'est à dire si c'est effectivement un adresse web
        If Me.AdresseURL_CB.Text Like "*.???" Or Me.AdresseURL_CB.Text Like "http://*.???" _
            Or Me.AdresseURL_CB.Text Like "*.??" Or Me.AdresseURL_CB.Text Like "http://*.??" _
            Or Me.AdresseURL_CB.Text Like "https://*.???" Or Me.AdresseURL_CB.Text Like "http://*.??" Then
            'Ensuite on donne à l'onglet le titre suivant
            Me.Onglets.SelectedTab.Text = "En cours..."
            'Alors on navigue vers cette adresse
            Me.WebBrowser.Navigate(Me.AdresseURL_CB.Text)
        End If
    End Sub

    'CLique sur Actualiser
    Private Sub Actualiser_BT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Actualiser_BT.Click
        'Actualisation de la page en cours
        Me.WebBrowser.Refresh()
    End Sub

    'Si on clique sur le bouton precedent
    Private Sub Precedent_BT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Precedent_BT.Click
        'Si on peut partir à la page precedente
        If Me.WebBrowser.CanGoBack Then
            'On y va
            Me.WebBrowser.GoBack()
        End If
    End Sub

    'Si on clique sur le bouton suivant
    Private Sub Suivant_BT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Suivant_BT.Click
        'Si on peut partir à la page suivante
        If Me.WebBrowser.CanGoForward Then
            'On y va
            Me.WebBrowser.GoForward()
        End If
    End Sub

    'Si on clique sur stop
    Private Sub Stop_BT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Stop_BT.Click
        'Arret de la navigation
        Me.WebBrowser.Stop()
    End Sub

    'Si on clique sur le bouton page d'accueille
    Private Sub Accueil_BT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Accueil_BT.Click
        Me.WebBrowser.GoHome()
    End Sub
#End Region

    
End Class

Conclusion :


C'est la première fois que je poste un code ici soyez indulgent!!

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.