WebBrowser.Navigating Evento
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Si verifica prima che il controllo WebBrowser si sposti su un nuovo documento.
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
Tipo evento
Esempio
Nell'esempio di codice seguente viene illustrato come usare un gestore per l'evento per annullare lo Navigating spostamento quando un modulo di pagina Web non è stato compilato. La Document proprietà viene usata per determinare se il campo di input del modulo contiene un valore.
In questo esempio è necessario che il modulo contenga un controllo chiamato webBrowser1
e che la classe form abbia un WebBrowserComVisibleAttribute elemento che lo rende accessibile a COM.
Per un esempio di codice completo in cui è possibile incollare il codice seguente, vedere Procedura: Aggiungere funzionalità del Web browser a un'applicazione 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
Commenti
Il WebBrowser controllo passa a un nuovo documento ogni volta che viene impostata una delle proprietà seguenti o i metodi seguenti:
È possibile gestire l'evento per annullare la Navigating navigazione se determinate condizioni non sono state soddisfatte, ad esempio quando l'utente non ha completamente compilato un modulo. Per annullare la navigazione, impostare la Cancel proprietà dell'oggetto WebBrowserNavigatingEventArgs passato al gestore eventi su true
. È anche possibile usare questo oggetto per recuperare l'URL del nuovo documento tramite la WebBrowserNavigatingEventArgs.Url proprietà . Se il nuovo documento verrà visualizzato in un frame di pagina Web, è possibile recuperare il nome del frame tramite la WebBrowserNavigatingEventArgs.TargetFrameName proprietà .
Gestire l'evento Navigated per ricevere una notifica al termine dello spostamento del controllo e ha iniziato a caricare il WebBrowser documento nella nuova posizione. Gestire l'evento DocumentCompleted per ricevere una notifica al termine del caricamento del WebBrowser nuovo documento.
Per ulteriori informazioni sulla gestione degli eventi, consultare gestione e generazione di eventi.