WebBrowser.Navigating Evento

Definizione

Si verifica prima che il controllo WebBrowser si sposti su un nuovo documento.

public:
 event System::Windows::Forms::WebBrowserNavigatingEventHandler ^ Navigating;
public event System.Windows.Forms.WebBrowserNavigatingEventHandler Navigating;
public event System.Windows.Forms.WebBrowserNavigatingEventHandler? Navigating;
member this.Navigating : System.Windows.Forms.WebBrowserNavigatingEventHandler 
Public Custom Event Navigating As WebBrowserNavigatingEventHandler 
Public Event Navigating As WebBrowserNavigatingEventHandler 

Tipo evento

Esempio

Nell'esempio di codice seguente viene illustrato come usare un gestore per l'evento per annullare lo Navigating spostamento quando un modulo di pagina Web non è stato compilato. La Document proprietà viene usata per determinare se il campo di input del modulo contiene un valore.

In questo esempio è necessario che il modulo contenga un controllo chiamato webBrowser1 e che la classe form abbia un WebBrowserComVisibleAttribute elemento che lo rende accessibile a COM.

Per un esempio di codice completo in cui è possibile incollare il codice seguente, vedere Procedura: Aggiungere funzionalità del Web browser a un'applicazione Windows Forms.

private void Form1_Load(object sender, EventArgs e)
{
    webBrowser1.DocumentText =
        "<html><body>Please enter your name:<br/>" +
        "<input type='text' name='userName'/><br/>" +
        "<a href='http://www.microsoft.com'>continue</a>" +
        "</body></html>";
    webBrowser1.Navigating += 
        new WebBrowserNavigatingEventHandler(webBrowser1_Navigating);
}

private void webBrowser1_Navigating(object sender, 
    WebBrowserNavigatingEventArgs e)
{
    System.Windows.Forms.HtmlDocument document =
        this.webBrowser1.Document;

    if (document != null && document.All["userName"] != null && 
        String.IsNullOrEmpty(
        document.All["userName"].GetAttribute("value")))
    {
        e.Cancel = true;
        System.Windows.Forms.MessageBox.Show(
            "You must enter your name before you can navigate to " +
            e.Url.ToString());
    }
}
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) _
    Handles Me.Load

    webBrowser1.DocumentText = _
        "<html><body>Please enter your name:<br/>" & _
        "<input type='text' name='userName'/><br/>" & _
        "<a href='http://www.microsoft.com'>continue</a>" & _
        "</body></html>"

End Sub

Private Sub webBrowser1_Navigating( _
    ByVal sender As Object, ByVal e As WebBrowserNavigatingEventArgs) _
    Handles webBrowser1.Navigating

    Dim document As System.Windows.Forms.HtmlDocument = _
        webBrowser1.Document
    If document IsNot Nothing And _
        document.All("userName") IsNot Nothing And _
        String.IsNullOrEmpty( _
        document.All("userName").GetAttribute("value")) Then

        e.Cancel = True
        MsgBox("You must enter your name before you can navigate to " & _
            e.Url.ToString())
    End If

End Sub

Commenti

Il WebBrowser controllo passa a un nuovo documento ogni volta che viene impostata una delle proprietà seguenti o i metodi seguenti:

È possibile gestire l'evento per annullare la Navigating navigazione se determinate condizioni non sono state soddisfatte, ad esempio quando l'utente non ha completamente compilato un modulo. Per annullare la navigazione, impostare la Cancel proprietà dell'oggetto WebBrowserNavigatingEventArgs passato al gestore eventi su true. È anche possibile usare questo oggetto per recuperare l'URL del nuovo documento tramite la WebBrowserNavigatingEventArgs.Url proprietà . Se il nuovo documento verrà visualizzato in un frame di pagina Web, è possibile recuperare il nome del frame tramite la WebBrowserNavigatingEventArgs.TargetFrameName proprietà .

Gestire l'evento Navigated per ricevere una notifica al termine dello spostamento del controllo e ha iniziato a caricare il WebBrowser documento nella nuova posizione. Gestire l'evento DocumentCompleted per ricevere una notifica al termine del caricamento del WebBrowser nuovo documento.

Per ulteriori informazioni sulla gestione degli eventi, consultare gestione e generazione di eventi.

Si applica a

Vedi anche