Vorgehensweise: Zugreifen auf das Objektmodell für verwaltete HTML-Dokumente
Sie können über zwei Arten von Anwendungen auf das verwaltete HTML-Dokumentobjektmodell (DOM) zugreifen:
Eine Windows Forms-Anwendung (.exe), die das verwaltete WebBrowser-Steuerelement gehostet hat. Diese beiden Technologien ergänzen sich gegenseitig, wobei das WebBrowser-Steuerelement die Seite für den Benutzer anzeigt und das HTML-DOM die logische Struktur des Dokuments darstellt.
Ein Windows Forms UserControl wird in Internet Explorer gehostet. Sie können auf das HTML-DOM zugreifen, das die Seite darstellt, auf der Ihre UserControl gehostet wird, um die Struktur des Dokuments zu ändern oder modale Dialogfelder zu öffnen, unter vielen anderen Möglichkeiten.
So greifen Sie über eine Windows Forms-Anwendung auf DOM zu
Hosten Sie ein WebBrowser-Steuerelement in Ihrer Windows Forms-Anwendung, und überwachen Sie das DocumentCompleted-Ereignis. Ausführliche Informationen zur Verwaltung von Hosting-Funktionen und zur Überwachung von Ereignissen finden Sie unter Ereignisse.
Rufen Sie die HtmlDocument für die aktuelle Seite ab, indem Sie auf die eigenschaft Document des WebBrowser-Steuerelements zugreifen.
So greifen Sie von einem in Internet Explorer gehosteten UserControl auf DOM zu
Erstellen Sie eine eigene benutzerdefinierte abgeleitete Klasse der UserControl Klasse. Weitere Informationen finden Sie unter "Anleitung: Erstellen von zusammengesetzten Steuerelementen".
Platzieren Sie den folgenden Code in den Load-Ereignishandler für Ihre 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
Robuste Programmierung
- Wenn Sie das DOM über das WebBrowser-Steuerelement verwenden, sollten Sie immer warten, bis das DocumentCompleted-Ereignis auftritt, bevor Sie versuchen, auf die eigenschaft Document des WebBrowser-Steuerelements zuzugreifen. Das DocumentCompleted-Ereignis wird ausgelöst, nachdem das gesamte Dokument geladen wurde; wenn Sie das DOM vorher verwenden, riskieren Sie, dass eine Laufzeit ausnahme in Ihrer Anwendung auftritt.
.NET Framework Sicherheit
- Ihre Anwendung oder UserControl benötigt volles Vertrauen, um auf das verwaltete HTML-DOM zuzugreifen. Wenn Sie eine Windows Forms-Anwendung mithilfe von ClickOnce bereitstellen, können Sie entweder die Anhebung der Berechtigungen oder die Bereitstellung von vertrauenswürdigen Anwendungen zur Anforderung voller Vertrauenswürdigkeit nutzen. Weitere Informationen finden Sie unter Sichern von ClickOnce-Anwendungen.
Siehe auch
.NET Desktop feedback