Condividi tramite


Procedura: Accedere al DOM (Document Object Model) HTML gestito

È possibile accedere al modello DOM (Document Object Model) HTML gestito da due tipi di applicazioni:

  • Applicazione Windows Forms (.exe) che ospitava il controllo gestito WebBrowser. Queste due tecnologie si integrano tra loro, con il controllo WebBrowser che visualizza la pagina all'utente e il DOM HTML che rappresenta la struttura logica del documento.

  • Windows Form UserControl ospitato in Internet Explorer. È possibile accedere al DOM HTML che rappresenta la pagina in cui è ospitata la UserControl per modificare la struttura del documento o aprire finestre di dialogo modali, tra le molte altre possibilità.

Per accedere al DOM da un'applicazione Windows Forms

  1. Ospitare un controllo WebBrowser all'interno dell'applicazione Windows Forms e monitorare l'evento DocumentCompleted. Per informazioni dettagliate sui controlli dell'hosting e sul monitoraggio degli eventi, vedere Eventi.

  2. Recuperare il HtmlDocument per la pagina corrente accedendo alla proprietà Document del controllo WebBrowser.

Per accedere a DOM da un oggetto UserControl ospitato in Internet Explorer

  1. Creare una classe derivata personalizzata della classe UserControl. Per altre informazioni, vedere Procedura: Creare controlli compositi.

  2. Inserisci il codice seguente nel gestore dell'evento Load per il tuo 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

Programmazione affidabile

  1. Quando si usa il DOM tramite il controllo WebBrowser, è consigliabile attendere sempre fino a quando non si verifica l'evento DocumentCompleted prima di tentare di accedere alla proprietà Document del controllo WebBrowser. L'evento DocumentCompleted viene generato dopo il caricamento dell'intero documento; se si usa il DOM prima di allora, si rischia di causare un'eccezione di runtime nell'applicazione.

Sicurezza di .NET Framework

  1. La tua applicazione o UserControl richiederà piena fiducia per accedere al DOM HTML gestito. Se si distribuisce un'applicazione Windows Form con ClickOnce, è possibile richiedere l'attendibilità totale usando l'elevazione delle autorizzazioni o la distribuzione di applicazioni attendibili; per informazioni dettagliate, vedere Protezione delle applicazioni ClickOnce.

Vedere anche