WebBrowser.Navigating Zdarzenie

Definicja

Występuje przed przejściem kontrolki WebBrowser do nowego dokumentu.

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 

Typ zdarzenia

Przykłady

W poniższym przykładzie kodu pokazano, jak użyć procedury obsługi dla Navigating zdarzenia w celu anulowania nawigacji, gdy formularz strony sieci Web nie został wypełniony. Właściwość Document służy do określania, czy pole wejściowe formularza zawiera wartość.

Ten przykład wymaga, aby formularz zawierał kontrolkę WebBrowser o nazwie webBrowser1 i że klasa formularzy ma ComVisibleAttribute dostęp do modelu COM.

Pełny przykład kodu, do którego można wkleić następujący kod, zobacz How to: Add Web Browser Capabilities to a Windows Forms Application (Instrukcje: dodawanie funkcji przeglądarki internetowej do aplikacji 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

Uwagi

Kontrolka WebBrowser przechodzi do nowego dokumentu za każdym razem, gdy zostanie ustawiona jedna z następujących właściwości lub zostanie wywołana metoda:

Możesz obsłużyć Navigating zdarzenie, aby anulować nawigację, jeśli niektóre warunki nie zostały spełnione, na przykład gdy użytkownik nie wypełnił całkowicie formularza. Aby anulować nawigację, ustaw Cancel właściwość WebBrowserNavigatingEventArgs obiektu przekazanego do procedury obsługi zdarzeń na true. Możesz również użyć tego obiektu, aby pobrać adres URL nowego dokumentu za pośrednictwem WebBrowserNavigatingEventArgs.Url właściwości . Jeśli nowy dokument zostanie wyświetlony w ramce strony sieci Web, możesz pobrać nazwę ramki za pomocą WebBrowserNavigatingEventArgs.TargetFrameName właściwości .

Obsługa zdarzenia w celu odbierania powiadomienia po WebBrowser zakończeniu Navigated nawigacji kontrolki i rozpoczęciu ładowania dokumentu w nowej lokalizacji. Obsłuż zdarzenie, aby otrzymywać powiadomienie po WebBrowser zakończeniu DocumentCompleted ładowania nowego dokumentu przez kontrolkę.

Aby uzyskać więcej informacji na temat obsługi zdarzeń, zobacz Obsługa i podnoszenie zdarzeń.

Dotyczy

Zobacz też