Cómo: Obtener acceso al Modelo de objetos de documento HTML administrado
Actualización: noviembre 2007
Puede obtener acceso al Modelo de objeto del documento HTML (DOM) administrado desde dos tipos de aplicaciones:
Una aplicación de Windows Forms (.exe) que alojó el control WebBrowser administrado. Estas dos tecnologías se complementan mutuamente, con el control WebBrowser que muestra la página al usuario y el DOM HTML que representa la estructura lógica del documento.
Un formulario Windows Forms UserControl alojado dentro de Internet Explorer. Puede obtener acceso al HTML DOM que representa la página en la que está alojado su UserControl para modificar la estructura del documento o abrir cuadros de diálogo modales, entre otras posibilidades.
Para obtener acceso al DOM de una aplicación de Windows Forms
Aloje un control WebBrowser dentro de su aplicación de Windows Forms y supervise el evento DocumentCompleted. Para obtener detalles sobre cómo alojar controles y supervisar los eventos, vea Utilizar eventos.
Recupere el HtmlDocument para la página actual teniendo acceso a la propiedad Document del control WebBrowser.
Para obtener acceso al DOM del UserControl alojado en Internet Explorer
Cree su propia clase derivada personalizada de la clase UserControl. Para obtener más información, vea Cómo: Crear controles compuestos.
Coloque el código siguiente dentro de su controlador del evento Load para su UserControl:
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
HtmlDocument doc = null;
private void UserControl1_Load(object sender, EventArgs e)
{
if (this.Site != null)
{
doc = (HtmlDocument)this.Site.GetService(typeof(HtmlDocument));
}
}
Programación eficaz
- Cuando utiliza el DOM mediante el control WebBrowser, debería esperar hasta que se produzca el evento DocumentCompleted antes de intentar obtener acceso a la propiedad Document del control WebBrowser. El evento DocumentCompleted se produce después de que se haya cargado el documento completo; si utiliza el DOM antes, se arriesga a provocar una excepción en tiempo de ejecución en su aplicación.
Seguridad
- Su aplicación o UserControl requerirá plena confianza para obtener acceso al DOM HTML administrado. Si implementa una aplicación de Windows Forms utilizando ClickOnce, puede solicitar confianza plena utilizando Concesión de permiso o Implementación de aplicaciones de confianza; vea Información general sobre la implementación de ClickOnce y Implementación y seguridad con ClickOnce para obtener más información.
Vea también
Otros recursos
Utilizar el Modelo de objetos de documento HTML administrado