Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die DocumentStream- und DocumentText-Eigenschaften des WebBrowser-Steuerelements geben den HTML-Code des aktuellen Dokuments in dem Zustand zurück, als es zum ersten Mal angezeigt wurde. Wenn Sie die Seite jedoch mithilfe von Methoden- und Eigenschaftsaufrufen wie z. B. AppendChild und InnerHtml ändern, werden diese Änderungen nicht angezeigt, wenn Sie DocumentStream und DocumentText aufrufen. Um die aktuellste up-toHTML-Quelle für das DOM abzurufen, müssen Sie die Eigenschaft OuterHtml des HTML-Elements aufrufen.
Das folgende Verfahren zeigt, wie Sie die dynamische Quelle abrufen und in einem separaten Kontextmenü anzeigen.
Abrufen der dynamischen Quelle mit der OuterHtml-Eigenschaft
Erstellen Sie eine neue Windows Forms-Anwendung. Beginnen Sie mit einem einzelnen Form, und nennen Sie ihn
Form1
.Hosten Sie das WebBrowser Steuerelement in Ihrer Windows Forms-Anwendung, und nennen Sie es
WebBrowser1
. Weitere Informationen finden Sie unter So fügen Sie einer Windows Forms-Anwendung Webbrowser-Funktionen hinzu.Erstellen Sie eine Sekunde Form in Ihrer Anwendung mit dem Namen
CodeForm
.Fügen Sie ein RichTextBox-Steuerelement zu
CodeForm
hinzu und legen Sie dessen Dock-Eigenschaft aufFill
fest.Erstellen Sie eine öffentliche Eigenschaft an
CodeForm
, dieCode
benannt ist.public string Code { get { if (richTextBox1.Text != null) { return (richTextBox1.Text); } else { return (""); } } set { richTextBox1.Text = value; } }
Public Property Code() As String Get If (RichTextBox1.Text IsNot Nothing) Then Code = RichTextBox1.Text Else Code = "" End If End Get Set(ByVal value As String) RichTextBox1.Text = value End Set End Property
Fügen Sie Ihrem Button ein benanntes
Button1
Steuerelement hinzu und überwachen Sie das Form-Ereignis. Ausführliche Informationen zu Überwachungsereignissen finden Sie unter "Ereignisse".Fügen Sie dem Click Ereignishandler den folgenden Code hinzu.
private void button1_Click(object sender, EventArgs e) { HtmlElement elem; if (webBrowser1.Document != null) { CodeForm cf = new CodeForm(); HtmlElementCollection elems = webBrowser1.Document.GetElementsByTagName("HTML"); if (elems.Count == 1) { elem = elems[0]; cf.Code = elem.OuterHtml; cf.Show(); } } }
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim elem As HtmlElement If (WebBrowser1.Document IsNot Nothing) Then Dim cf As New CodeForm() Dim elems As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("HTML") If (elems.Count = 1) Then elem = elems(0) cf.Code = elem.OuterHtml cf.Show() End If End If End Sub
Robuste Programmierung
Testen Sie immer den Wert vor Document dem Abrufen. Wenn das Laden der aktuellen Seite nicht abgeschlossen ist, Document oder eines oder mehrere seiner untergeordneten Objekte möglicherweise nicht initialisiert sind.
Siehe auch
.NET Desktop feedback