WebBrowser.Navigating Evento
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Ocorre antes que o controle WebBrowser navegue para um novo 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 de evento
Exemplos
O exemplo de código a seguir demonstra como usar um manipulador para o Navigating evento para cancelar a navegação quando um formulário de página da Web não tiver sido preenchido. A Document propriedade é usada para determinar se o campo de entrada do formulário contém um valor.
Este exemplo requer que seu formulário contenha um WebBrowser controle chamado webBrowser1
e que sua classe de formulário tenha um ComVisibleAttribute tornando-o acessível ao COM.
Para obter um exemplo de código completo no qual você pode colar o código a seguir, consulte Como adicionar recursos do navegador da Web a um aplicativo 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
Comentários
O WebBrowser controle navega para um novo documento sempre que uma das seguintes propriedades é definida ou os métodos são chamados:
Você pode manipular o Navigating evento para cancelar a navegação se determinadas condições não tiverem sido atendidas, por exemplo, quando o usuário não tiver preenchido completamente um formulário. Para cancelar a navegação, defina a Cancel propriedade do WebBrowserNavigatingEventArgs objeto passado para o manipulador de eventos como true
. Você também pode usar esse objeto para recuperar a URL do novo documento por meio da WebBrowserNavigatingEventArgs.Url propriedade . Se o novo documento for exibido em um quadro de página da Web, você poderá recuperar o nome do quadro por meio da WebBrowserNavigatingEventArgs.TargetFrameName propriedade .
Manipule o Navigated evento para receber notificação quando o controle concluir a WebBrowser navegação e começar a carregar o documento no novo local. Manipule o DocumentCompleted evento para receber notificação quando o WebBrowser controle terminar de carregar o novo documento.
Para obter mais informações sobre como lidar com eventos, consulte Manipulando e gerando eventos.