WebBrowser.Navigating Händelse
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Inträffar innan kontrollen WebBrowser navigerar till ett nytt dokument.
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
Händelsetyp
Exempel
Följande kodexempel visar hur du använder en hanterare för händelsen för att avbryta navigeringen Navigating när ett webbsideformulär inte har fyllts i. Egenskapen Document används för att avgöra om formulärets indatafält innehåller ett värde.
Det här exemplet kräver att formuläret innehåller en WebBrowser kontroll som heter webBrowser1 och att formulärklassen har en ComVisibleAttribute gör den tillgänglig för COM.
Ett fullständigt kodexempel som du kan klistra in följande kod i finns i How to: Add Web Browser Capabilities to a Windows Forms Application.
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
Kommentarer
Kontrollen WebBrowser navigerar till ett nytt dokument när någon av följande egenskaper anges eller metoderna anropas:
Du kan hantera Navigating händelsen för att avbryta navigeringen om vissa villkor inte har uppfyllts, till exempel när användaren inte har fyllt i ett formulär helt. Om du vill avbryta navigeringen Cancel anger du egenskapen för objektet som WebBrowserNavigatingEventArgs skickades till händelsehanteraren till true. Du kan också använda det här objektet för att hämta URL:en för det nya dokumentet via egenskapen WebBrowserNavigatingEventArgs.Url . Om det nya dokumentet visas i en webbplatsram kan du hämta namnet på ramen via egenskapen WebBrowserNavigatingEventArgs.TargetFrameName .
Hantera händelsen Navigated för att få ett meddelande när kontrollen har slutfört navigeringen WebBrowser och har börjat läsa in dokumentet på den nya platsen. Hantera händelsen DocumentCompleted för att få ett meddelande när WebBrowser kontrollen har läst in det nya dokumentet.
Mer information om hur du hanterar händelser finns i Hantera och höja händelser.