Поделиться через


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 , чтобы отменить навигацию, если некоторые условия не выполнены, например, если пользователь не полностью заполнял форму. Чтобы отменить навигацию, задайте Cancel для WebBrowserNavigatingEventArgs свойства объекта, переданного обработчику trueсобытий. Этот объект также можно использовать для получения URL-адреса нового документа с помощью WebBrowserNavigatingEventArgs.Url свойства. Если новый документ будет отображаться в кадре веб-страницы, можно получить имя кадра через WebBrowserNavigatingEventArgs.TargetFrameName свойство.

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

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

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

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