Vorgehensweise: Zugreifen auf das verwaltete HTML-Dokumentobjektmodell

Sie können auf das verwaltete HTML-Dokumentobjektmodell (DOM) von zwei Anwendungsarten aus zugreifen:

  • Eine Windows Forms-Anwendung (EXE), die das verwaltete WebBrowser-Steuerelement gehostet hat. Diese beiden Technologien ergänzen sich gegenseitig, wobei das WebBrowser-Steuerelement dem Benutzer die Seite anzeigt und das HTML-DOM die logische Struktur des Dokuments darstellt.

  • Ein Windows Forms-UserControl, das innerhalb von Internet Explorer gehostet wird. Sie können auf das HTML-DOM zugreifen, das die Seite darstellt, auf der das UserControl gehostet wird, um beispielsweise unter anderem die Dokumentstruktur zu ändern oder modale Dialogfelder zu öffnen.

So greifen Sie über eine Windows Forms-Anwendung auf das DOM zu

  1. Hosten Sie ein WebBrowser-Steuerelement innerhalb der Windows Forms-Anwendung, und überwachen Sie es auf das DocumentCompleted-Ereignis. Ausführliche Informationen über das Hosten von Steuerelementen und das Überwachen auf Ereignisse finden Sie unter Ereignisse.

  2. Rufen Sie das HtmlDocument für die aktuelle Seite ab, indem Sie auf die Document-Eigenschaft des WebBrowser-Steuerelements zugreifen.

So greifen Sie von einem in Internet Explorer gehosteten UserControl auf das DOM zu

  1. Erstellen Sie Ihre eigene benutzerdefinierte abgeleitete Klasse der UserControl-Klasse. Weitere Informationen finden Sie unter Gewusst wie: Erstellen von zusammengesetzten Steuerelementen.

  2. Platzieren Sie den folgenden Code innerhalb des Load-Ereignishandlers für das 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

Stabile Programmierung

  1. Wenn Sie das DOM mithilfe des WebBrowser-Steuerelements verwenden, sollten Sie stets so lange warten, bis das DocumentCompleted-Ereignis auftritt, bevor Sie versuchen, auf die Document-Eigenschaft des WebBrowser-Steuerelements zuzugreifen. Das DocumentCompleted-Ereignis wird ausgelöst, nachdem das gesamte Dokument geladen wurde. Wenn Sie das DOM vorher verwenden, besteht das Risiko, eine Laufzeitausnahme in der Anwendung zu verursachen.

.NET Framework-Sicherheit

  1. Die Anwendung oder das UserControl setzen volle Vertrauenswürdigkeit voraus, um auf das verwaltete HTML-DOM zuzugreifen. Wenn Sie eine Windows Forms-Anwendung mit ClickOnce bereitstellen, können Sie volle Vertrauenswürdigkeit entweder über erweiterte Berechtigungen oder die Bereitstellung vertrauenswürdiger Anwendungen anfordern. Ausführliche Informationen finden Sie unter Absichern von ClickOnce-Anwendungen.

Weitere Informationen