WebBrowser.Document Propriedade

Definição

Obtém um HtmlDocument que representa a página Web atualmente apresentada no WebBrowser controlo.

public:
 property System::Windows::Forms::HtmlDocument ^ Document { System::Windows::Forms::HtmlDocument ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Windows.Forms.HtmlDocument Document { get; }
[<System.ComponentModel.Browsable(false)>]
member this.Document : System.Windows.Forms.HtmlDocument
Public ReadOnly Property Document As HtmlDocument

Valor de Propriedade

E representando HtmlDocument a página atual, ou null se nenhuma página for carregada.

Atributos

Exceções

Esta WebBrowser situação já não é válida.

Uma referência a uma implementação da IWebBrowser2 interface não podia ser recuperada a partir do controlo ActiveX WebBrowser subjacente.

Exemplos

O exemplo de código seguinte demonstra como usar a Document propriedade num handler para o Navigating evento para determinar se um formulário de página Web foi preenchido. Se o campo de entrada não contiver um valor, a navegação é cancelada.

Este exemplo exige que a sua forma contenha um WebBrowser controlo chamado webBrowser1.

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

Use esta propriedade quando quiser aceder ao conteúdo de uma página Web exibido no WebBrowser controlo através do modelo de objetos do documento HTML (DOM). Isto é útil, por exemplo, quando pretende usar controlos baseados na Web na sua aplicação Windows Forms.

Pode usar esta propriedade, em combinação com a propriedade ObjectForScripting , para implementar comunicação bidirecional entre uma página Web exibida no WebBrowser controlo e a sua aplicação. Use o HtmlDocument.InvokeScript método para chamar métodos de script implementados numa página Web a partir do código da sua aplicação cliente. O seu código de scripting pode aceder à sua aplicação através do window.external objeto, que é um objeto DOM incorporado fornecido para o acesso ao host, e que é mapeado para um objeto que especifica para a ObjectForScripting propriedade.

Para aceder ao conteúdo de uma página Web como uma cadeia, use a DocumentText propriedade. Para aceder ao conteúdo de uma página Web como Stream, utilize a DocumentStream propriedade.

Aplica-se a

Ver também