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