WebBrowser.Navigating Evento

Definição

Ocorre antes do WebBrowser controlo navegar para um novo documento.

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 seguinte demonstra como usar um handler para que o Navigating evento cancele a navegação quando um formulário de página Web não foi preenchido. A Document propriedade é usada para determinar se o campo de entrada do formulário contém um valor.

Este exemplo exige que o seu formulário contenha um WebBrowser controlo chamado webBrowser1 e que a sua classe de formulário tenha um ComVisibleAttribute que o torne acessível ao COM.

Para um exemplo completo de código onde pode colar o seguinte código, veja Como: Adicionar Funcionalidades do Navegador Web a uma Aplicação 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

Observações

O WebBrowser controlo navega para um novo documento sempre que uma das seguintes propriedades ou métodos é chamada:

Pode gerir o Navigating evento para cancelar a navegação se certas condições não forem cumpridas, por exemplo, quando o utilizador não preencheu completamente um formulário. Para cancelar a navegação, defina a Cancel propriedade do WebBrowserNavigatingEventArgs objeto passado para o gestor de eventos para true. Também pode usar este objeto para recuperar a URL do novo documento através da WebBrowserNavigatingEventArgs.Url propriedade. Se o novo documento for apresentado numa moldura de página Web, pode obter o nome da moldura através da WebBrowserNavigatingEventArgs.TargetFrameName propriedade.

Trate do Navigated evento para receber notificação quando o WebBrowser controlo terminar a navegação e começar a carregar o documento na nova localização. Trate do DocumentCompleted evento para receber notificação quando o WebBrowser controlo terminar de carregar o novo documento.

Para obter mais informações sobre como manipular eventos, consulte Manipulando e gerando eventos.

Aplica-se a

Ver também