Ciao a tutti, sto usando il componente WebBrowser e uso l'evento DocumentCompleted per stabilire se la pagina è stata completamente caricata.
codice:
Private Sub wb_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles wb.DocumentCompleted
        ElaboraPagina()
End Sub
Dove ElaboraPagina() è una Sub che fa alcuni controlli sulla pagina caricata...
Documentandomi in rete, ho scoperto che l'evento DocumentCompleted potrebbe scatenarsi più volte prima che il documento sia effettivamente caricato completamente.
A questo punto ci sono diverse soluzioni, o fare un ciclo di attesa:
codice:
Private Sub ElaboraPagina()
        Do While wb.ReadyState <> WebBrowserReadyState.Complete
            Application.DoEvents()
        Loop
        ....ulteriore codice....
End Sub
oppure fare il controllo direttamente nell'evento DocumentCompleted:
codice:
Private Sub wb_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles wb.DocumentCompleted
        If Me.wb.ReadyState = WebBrowserReadyState.Complete Then
             ElaboraPagina()
        End If
End Sub
Quale metodo sarebbe preferibile usare?
Grazie