Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De eigenschappen DocumentStream en DocumentText op het besturingselement WebBrowser retourneren de HTML van het huidige document zoals het al bestond toen het voor het eerst werd weergegeven. Als u de pagina echter wijzigt met methode- en eigenschapsoproepen zoals AppendChild en InnerHtml, worden deze wijzigingen niet weergegeven wanneer u DocumentStream en DocumentTextaanroept. Als u de meest up-to-datum HTML-bron voor de DOM wilt verkrijgen, moet u de eigenschap OuterHtml aanroepen op het HTML-element.
In de volgende procedure ziet u hoe u de dynamische bron ophaalt en weergeeft in een afzonderlijk snelmenu.
De dynamische bron ophalen met de eigenschap OuterHtml
Maak een nieuwe Windows Forms-toepassing. Begin met één Formen noem het
Form1.Plaats het WebBrowser element in uw Windows Forms-toepassing en noem het
WebBrowser1. Zie How to: Add Web Browser Capabilities to a Windows Forms Applicationvoor meer informatie.Maak een tweede Form in uw toepassing met de naam
CodeForm.Voeg een besturingselement RichTextBox toe aan
CodeFormen stel de eigenschap Dock ervan in opFill.Maak een openbare eigenschap op
CodeFormmet de naamCode.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 PropertyVoeg een Button controle met de naam
Button1toe aan uw Formen wees waakzaam voor de Click gebeurtenis. Zie Gebeurtenissenvoor meer informatie over het bewaken van gebeurtenissen.Voeg de volgende code toe aan de Click gebeurtenis-handler.
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
Robuuste programmering
Test altijd de waarde van Document voordat u deze probeert op te halen. Als het laden van de huidige pagina niet is voltooid, worden Document of een of meer onderliggende objecten mogelijk niet geïnitialiseerd.
Zie ook
.NET Desktop feedback