Como: Acessar o modelo de objeto de documento HTML gerenciado
Você pode acessar o DOM (Document Object Model) HTML gerenciado a partir de dois tipos de aplicativos:
Um aplicativo Windows Forms (.exe) que hospedou o controle de WebBrowser gerenciado. Essas duas tecnologias se complementam, com o controle WebBrowser exibindo a página para o usuário e o HTML DOM representando a estrutura lógica do documento.
Um Windows Forms UserControl hospedado no Internet Explorer. Você pode acessar o HTML DOM que representa a página na qual seu UserControl está hospedado para alterar a estrutura do documento ou abrir caixas de diálogo modais, entre muitas outras possibilidades.
Para acessar o DOM a partir de um aplicativo do Windows Forms
Hospede um controle de WebBrowser em seu aplicativo Windows Forms e monitore o evento DocumentCompleted. Para obter detalhes sobre controles de hospedagem e monitoramento de eventos, consulte Events.
Recupere o HtmlDocument da página atual acessando a propriedade Document do controle WebBrowser.
Para acessar o DOM a partir de um UserControl hospedado no Internet Explorer
Crie sua própria classe derivada personalizada da classe UserControl. Para obter mais informações, consulte Como criar controles compostos.
Coloque o seguinte código dentro do manipulador de eventos Load para sua 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
Programação robusta
- Ao usar o DOM através do controle WebBrowser, você deve sempre esperar até que o evento DocumentCompleted ocorra antes de tentar acessar a propriedade Document do controle WebBrowser. O evento DocumentCompleted é gerado após o carregamento de todo o documento; se você usar o DOM antes disso, corre o risco de causar uma exceção em tempo de execução em seu aplicativo.
Segurança do .NET Framework
- O seu aplicativo ou UserControl exigirá confiança total para aceder ao DOM HTML controlado. Se você estiver implantando um aplicativo Windows Forms usando ClickOnce, poderá solicitar confiança total usando Elevação de Permissão ou Implantação de Aplicativo Confiável; consulte Protegendo aplicativos ClickOnce para obter detalhes.
Ver também
.NET Desktop feedback