WebBrowser.Navigating Событие

Определение

Происходит перед переходом элемента управления WebBrowser в новый документ.

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 

Тип события

Примеры

В следующем примере кода показано, как использовать обработчик события для Navigating отмены навигации, если форма веб-страницы не заполнена. Свойство Document используется для определения того, содержит ли поле ввода формы значение.

В этом примере требуется, чтобы форма содержала WebBrowser элемент управления с именем webBrowser1 , а класс формы был ComVisibleAttribute доступен для COM.

Полный пример кода, в который можно вставить следующий код, см. в разделе Практическое руководство. Добавление возможностей веб-браузера в приложение 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

Комментарии

Элемент WebBrowser управления переходит к новому документу всякий раз, когда задано одно из следующих свойств или вызывается метод:

Вы можете обработать Navigating событие для отмены навигации, если не выполнены определенные условия, например, когда пользователь не полностью заполнил форму. Чтобы отменить навигацию, присвойте свойству CancelWebBrowserNavigatingEventArgs объекта , переданного обработчику событий, значение true. Этот объект также можно использовать для получения URL-адреса нового документа с помощью WebBrowserNavigatingEventArgs.Url свойства . Если новый документ будет отображаться в рамке веб-страницы, можно получить имя кадра с помощью WebBrowserNavigatingEventArgs.TargetFrameName свойства .

Navigated Обработайте событие для получения уведомления, WebBrowser когда элемент управления завершит навигацию и начнет загрузку документа в новом расположении. DocumentCompleted Обработайте событие для получения уведомления, WebBrowser когда элемент управления завершит загрузку нового документа.

Дополнительные сведения об обработке событий см. в разделе Обработка и вызов событий.

Применяется к

См. также раздел