Compartilhar via


WebBrowser.Document Propriedade

Definição

Obtém uma HtmlDocument representação da página da Web exibida atualmente no WebBrowser controle.

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

Uma HtmlDocument representação da página atual ou null se nenhuma página for carregada.

Atributos

Exceções

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

Não foi possível recuperar uma referência a uma implementação da IWebBrowser2 interface do controle ActiveX WebBrowser 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 requer que seu 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. O 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 que você especifica 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