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 когда элемент управления завершит загрузку нового документа.
Дополнительные сведения об обработке событий см. в разделе Обработка и вызов событий.