Compartir vía


WebBrowser.Document Propiedad

Definición

Obtiene un HtmlDocument que representa la página web que se muestra actualmente en el control 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 de propiedad

HtmlDocument que representa la página actual o null si no se carga ninguna página.

Atributos

Excepciones

Esta instancia de WebBrowser ya no es válida.

Una referencia a una implementación de la interfaz IWebBrowser2 no se pudo recuperar del control ActiveX WebBrowser subyacente.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar la Document propiedad en un controlador para el Navigating evento para determinar si se ha rellenado un formulario de página web. Si el campo de entrada no contiene un valor, se cancela la navegación.

En este ejemplo se requiere que el formulario contenga un WebBrowser control denominado 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

Comentarios

Utilice esta propiedad cuando desee tener acceso al contenido de una página web que se muestra en el WebBrowser control a través del modelo de objetos de documento HTML (DOM). Esto resulta útil, por ejemplo, cuando desea usar controles basados en Web en la aplicación de Windows Forms.

Puede usar esta propiedad, en combinación con la ObjectForScripting propiedad , para implementar la comunicación bidireccional entre una página web que se muestra en el control y la WebBrowser aplicación. Use el HtmlDocument.InvokeScript método para llamar a métodos de script implementados en una página web desde el código de la aplicación cliente. El código de scripting puede acceder a la aplicación a través del window.external objeto , que es un objeto DOM integrado proporcionado para el acceso de host y que se asigna a un objeto especificado para la ObjectForScripting propiedad .

Para tener acceso al contenido de una página web como una cadena, use la DocumentText propiedad . Para tener acceso al contenido de una página web como Stream, use la DocumentStream propiedad .

Se aplica a

Consulte también