lo que quiero en realidad es saber como podría hacerse : si la pagina del form1 esta conectada a nuestro navegador entonces aparezca en el label que la conexión se hizo correctamente
Vamos a ver, ¿lo que quieres es esperar a que la página se cargue del todo en el
WebBrowser, y luego mostrar un "mensaje" de validación?.
Entonces suscríbete al evento
DocumentCompleted del WebBrowser
' [WebBrowser] - Navigate And Wait
'
' By Elektro H@cker
'
' Usage Examples:
' NavigateAndWait(WebBrowser1, "www.google.com") : MsgBox("Webpage is ready!")
''' <summary>
''' Navigates to an url and waits the page to be loaded.
''' </summary>
''' <param name="url">Indicates the url to navigate.</param>
''' <param name="newWindow">Indicates whether the url should open into a new browser window.</param>
Private Sub NavigateAndWait(ByVal Browser As WebBrowser,
ByVal url As String,
Optional newWindow As Boolean = False)
With Browser
.Tag = False ' IsWebPageLoaded = False
AddHandler .DocumentCompleted, AddressOf WebBrowser_DocumentCompleted
.Navigate(url, newWindow)
Do Until DirectCast(.Tag, Boolean) ' IsWebPageLoaded = True
Application.DoEvents()
Loop
RemoveHandler .DocumentCompleted, AddressOf WebBrowser_DocumentCompleted
End With
End Sub
''' <summary>
''' Handles the DocumentCompleted event of the WebBrowser control.
''' </summary>
''' <param name="sender">The source of the event.</param>
''' <param name="e">The <see cref="WebBrowserDocumentCompletedEventArgs"/> instance containing the event data.</param>
Private Sub WebBrowser_DocumentCompleted(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs)
DirectCast(sender, WebBrowser).Tag = True
End Sub
C#, traducción al vuelo
// [WebBrowser] - Navigate And Wait
//
// By Elektro H@cker
//
// Usage Examples:
// NavigateAndWait(WebBrowser1, "www.google.com") : MsgBox("Webpage is ready!")
/// <summary>
/// Navigates to an url and waits the page to be loaded.
/// </summary>
/// <param name="url">Indicates the url to navigate.</param>
/// <param name="newWindow">Indicates whether the url should be open into a new browser window.</param>
private void NavigateAndWait(WebBrowser Browser, string url, bool newWindow = false)
{
var _with1 = Browser;
_with1.Tag = false; // IsWebPageLoaded = False
_with1.DocumentCompleted += WebBrowser_DocumentCompleted;
_with1.Navigate(url, newWindow);
// IsWebPageLoaded = True
while (!((bool)_with1.Tag)) {
Application.DoEvents();
}
_with1.DocumentCompleted -= WebBrowser_DocumentCompleted;
}
/// <summary>
/// Handles the DocumentCompleted event of the WebBrowser control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="WebBrowserDocumentCompletedEventArgs"/> instance containing the event data.</param>
private void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
((WebBrowser)sender).Tag = true;
}
//=======================================================
//Service provided by Telerik (www.telerik.com)
//=======================================================
PD: Puedes reemplazar la instrucción Application.DoEvents() por un BGWorker.
saludos