Esta documentación está archivada y no tiene mantenimiento.

HtmlDocument (Clase)

Proporciona acceso mediante programación de nivel superior a un documento HTML alojado por el control WebBrowser.

Espacio de nombres: System.Windows.Forms
Ensamblado: System.Windows.Forms (en system.windows.forms.dll)

public sealed class HtmlDocument
public final class HtmlDocument
public final class HtmlDocument
No aplicable.

HtmlDocument proporciona un contenedor administrado alrededor del objeto de documento de Internet Explorer, también conocido como el Modelo de objetos de documento (DOM) HTML. Obtiene una instancia de HtmlDocument a través de la propiedad Document del control WebBrowser.

Es posible anidar las etiquetas HTML dentro de un documento HTML. HtmlDocument representa entonces un árbol de documento cuyos elementos secundarios son instancias de la clase HtmlElement. En el ejemplo de código siguiente se muestra un archivo HTML simple.

<HTML>
    <BODY>
        <DIV name="Span1">Simple HTML Form</DIV>
        <FORM>
            <SPAN name="TextLabel">Enter Your Name:</SPAN>
            <INPUT type="text" size="20" name="Text1">
        </FORM>
    </BODY>
</HTML>

En este ejemplo, HtmlDocument representa todo el documento dentro de las etiquetas HTML. Los objetos HtmlElement individuales representan las etiquetas BODY, DIV, FORM y SPAN.

Hay varias formas de tener acceso a los elementos de este árbol. Utilice la propiedad Body para tener acceso a la etiqueta BODY y a todos sus elementos secundarios. La propiedad ActiveElement le da el HtmlElement para el elemento de una página HTML que tiene el foco de entrada de datos del usuario. Todos los elementos de una página HTML pueden tener un nombre; la colección All proporciona acceso a cada HtmlElement utilizando su nombre como un índice. GetElementsByTagName devolverá una HtmlElementCollection de todos los objetos HtmlElement que tengan un nombre de etiqueta HTML determinado, como DIV o TABLE. GetElementById devolverá el HtmlElement único que corresponde al Id. único que proporcione. GetElementFromPoint devolverá el HtmlElement que hay en la pantalla, en las coordenadas del puntero del mouse proporcionadas.

También puede utilizar las colecciones Forms y Images para recorrer en iteración elementos que representan formularios de entrada y gráficos, respectivamente.

HtmlDocument se basa en las interfaces no administradas implementadas por el DOM DHTML de Internet Explorer: IHTMLDocument, IHTMLDocument2, IHTMLDocument3 e IHTMLDocument4. HtmlDocument sólo expone las propiedades y los métodos utilizados con más frecuencia en estas interfaces no administradas. Puede tener acceso a todas las demás propiedades y métodos directamente utilizando la propiedad DomDocument, que puede convertir al puntero de interfaz no administrada deseado.

Un documento HTML puede contener marcos, que son las distintas ventanas que hay dentro del control WebBrowser. Cada marco muestra su propia página HTML. La colección Frames está disponible fuera de la propiedad Window. También puede utilizar la propiedad Window para cambiar el tamaño de la página mostrada, desplazarse por el documento o mostrar alertas y peticiones al usuario.

HtmlDocument expone los eventos más comunes que esperaría controlar al alojar páginas HTML. En el caso de los eventos no expuestos directamente por la interfaz, puede agregar un controlador para el evento utilizando AttachEventHandler.

Los archivos HTML pueden contener etiquetas SCRIPT que encapsulan el código escrito en uno de los lenguajes Active Scripting, como JScript o VBScript. El método InvokeScript permite la ejecución de las propiedades y los métodos definidos en una etiqueta SCRIPT.

NotaNota:

Si bien la mayoría de las propiedades, los métodos y los eventos de HtmlDocument han mantenido los mismos nombres que tienen en el DOM no administrado, se han cambiado algunos por coherencia con .NET Framework.

En el ejemplo de código siguiente se utilizan datos de la base de datos Northwind para crear dinámicamente una HTML TABLE mediante CreateElement. También se utiliza el método AppendChild, primero para agregar celdas (elementos TD) a filas (elementos TR), después para agregar filas a la tabla y, por último, para anexar la tabla al final del documento actual. El ejemplo de código requiere que su aplicación tenga un control WebBrowser denominado WebBrowser1.

System.Object
  System.Windows.Forms.HtmlDocument

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
Mostrar: