WebBrowser.Navigating Zdarzenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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ń.