Compartilhar via


WebBrowser.Document Propriedade

Definição

Obtém um HtmlDocument que representa a página da Web exibida atualmente no controle WebBrowser.

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)]
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 da propriedade

Um HtmlDocument que representa a página atual, ou null, se nenhuma página for carregada.

Atributos

Exceções

Essa instância WebBrowser não é mais válida.

Uma referência a uma implementação da interface IWebBrowser2 não pôde ser recuperada do controle WebBrowser do ActiveX subjacente.

Exemplos

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

Este exemplo exige que o formulário contenha um WebBrowser controle 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

Comentários

Use essa propriedade quando quiser acessar o conteúdo de uma página da Web exibida no WebBrowser controle por meio do DOM (modelo de objeto de documento HTML). Isso é útil, por exemplo, quando você deseja usar controles baseados na Web em seu aplicativo do Windows Forms.

Você pode usar essa propriedade, em combinação com a ObjectForScripting propriedade , para implementar a comunicação bidirecional entre uma página da WebBrowser Web exibida no controle e no aplicativo. Use o HtmlDocument.InvokeScript método para chamar métodos de script implementados em uma página da Web do código do aplicativo cliente. Seu código de script pode acessar seu aplicativo por meio do window.external objeto , que é um objeto DOM interno fornecido para acesso ao host e que é mapeado para um objeto especificado para a ObjectForScripting propriedade .

Para acessar o conteúdo de uma página da Web como uma cadeia de caracteres, use a DocumentText propriedade . Para acessar o conteúdo de uma página da Web como um Stream, use a DocumentStream propriedade .

Aplica-se a

Confira também