WebBrowser.Navigating Händelse

Definition

Inträffar innan kontrollen WebBrowser navigerar till ett nytt dokument.

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 

Händelsetyp

Exempel

Följande kodexempel visar hur du använder en hanterare för händelsen för att avbryta navigeringen Navigating när ett webbsideformulär inte har fyllts i. Egenskapen Document används för att avgöra om formulärets indatafält innehåller ett värde.

Det här exemplet kräver att formuläret innehåller en WebBrowser kontroll som heter webBrowser1 och att formulärklassen har en ComVisibleAttribute gör den tillgänglig för COM.

Ett fullständigt kodexempel som du kan klistra in följande kod i finns i How to: Add Web Browser Capabilities to a Windows Forms Application.

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

Kommentarer

Kontrollen WebBrowser navigerar till ett nytt dokument när någon av följande egenskaper anges eller metoderna anropas:

Du kan hantera Navigating händelsen för att avbryta navigeringen om vissa villkor inte har uppfyllts, till exempel när användaren inte har fyllt i ett formulär helt. Om du vill avbryta navigeringen Cancel anger du egenskapen för objektet som WebBrowserNavigatingEventArgs skickades till händelsehanteraren till true. Du kan också använda det här objektet för att hämta URL:en för det nya dokumentet via egenskapen WebBrowserNavigatingEventArgs.Url . Om det nya dokumentet visas i en webbplatsram kan du hämta namnet på ramen via egenskapen WebBrowserNavigatingEventArgs.TargetFrameName .

Hantera händelsen Navigated för att få ett meddelande när kontrollen har slutfört navigeringen WebBrowser och har börjat läsa in dokumentet på den nya platsen. Hantera händelsen DocumentCompleted för att få ett meddelande när WebBrowser kontrollen har läst in det nya dokumentet.

Mer information om hur du hanterar händelser finns i Hantera och höja händelser.

Gäller för

Se även