Compartir a través de


Cómo: Obtener acceso al modelo de objetos de documento HTML administrado

Puede acceder al modelo de objetos de documento HTML (DOM) administrado desde dos tipos de aplicaciones:

  • Una aplicación de Windows Forms (.exe) que hospedaba el control administrado WebBrowser . Estas dos tecnologías se complementan entre sí, con el WebBrowser control que muestra la página al usuario y el DOM HTML que representa la estructura lógica del documento.

  • Formularios Windows Forms UserControl hospedados en Internet Explorer. Puede acceder al DOM HTML que representa la página en la que UserControl se hospeda para cambiar la estructura del documento o abrir cuadros de diálogo modales, entre muchas otras posibilidades.

Para acceder a DOM desde una aplicación de Windows Forms

  1. Hospede un WebBrowser control dentro de la aplicación de Windows Forms y supervise el DocumentCompleted evento. Para más información sobre el hospedaje de controles y la supervisión de eventos, consulte Eventos.

  2. Recupere el HtmlDocument de la página actual accediendo a la propiedad Document del control WebBrowser.

Para acceder a DOM desde un UserControl hospedado en Internet Explorer

  1. Cree su propia clase derivada personalizada de la UserControl clase . Para obtener más información, vea Cómo: Crear controles compuestos.

  2. Coloque el siguiente código dentro del controlador de eventos Load para UserControl:

HtmlDocument doc = null;

private void UserControl1_Load(object sender, EventArgs e)
{
    if (this.Site != null)
    {
        doc = (HtmlDocument)this.Site.GetService(typeof(HtmlDocument));
    }
}
Private Sub UserControl1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    If (Me.Site IsNot Nothing) Then
        Dim Doc As HtmlDocument = CType(Me.Site.GetService(Type.GetType("System.Windows.Forms.HtmlDocument")), HtmlDocument)
    End If
End Sub

Programación sólida

  1. Al usar el control WebBrowser a través del DOM, debe siempre esperar hasta que el evento DocumentCompleted se produzca antes de intentar acceder a la propiedad Document del control WebBrowser. El DocumentCompleted evento se genera después de que se haya cargado todo el documento; si usa el DOM antes de entonces, corre el riesgo de provocar una excepción en tiempo de ejecución en la aplicación.

Seguridad de .NET Framework

  1. La aplicación o UserControl requerirá confianza total para acceder al DOM HTML administrado. Si va a implementar una aplicación de Windows Forms mediante ClickOnce, puede solicitar plena confianza mediante la elevación de permisos o la implementación de aplicaciones de confianza; consulte Protección de aplicaciones ClickOnce para obtener más información.

Consulte también