Condividi tramite


WebBrowser.Navigating Evento

Definizione

Si verifica prima che il WebBrowser controllo passi a 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 utilizzare un gestore per l'evento per annullare la Navigating navigazione quando non è stato compilato un modulo di pagina Web. La Document proprietà viene utilizzata per determinare se il campo di input del modulo contiene un valore.

In questo esempio è necessario che il form contenga un WebBrowser controllo denominato webBrowser1 e che la classe del modulo disponga di un ComVisibleAttribute oggetto 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 Form.

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 viene chiamato un metodo:

È possibile gestire l'evento per annullare la Navigating navigazione se determinate condizioni non sono state soddisfatte, ad esempio quando l'utente non ha compilato completamente un modulo. Per annullare la navigazione, impostare la Cancel proprietà dell'oggetto WebBrowserNavigatingEventArgs passato al gestore eventi su true. È anche possibile utilizzare 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 la notifica quando il controllo termina lo WebBrowser spostamento e ha iniziato a caricare il documento nella nuova posizione. Gestire l'evento DocumentCompleted per ricevere la notifica quando il controllo termina il WebBrowser caricamento del nuovo documento.

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

Si applica a

Vedi anche