Rubrik: HTML/Internet/Netzwerk · WebBrowser | VB-Versionen: VB2005, VB2008 | 10.03.09 |
HTML-Text dynamisch im WebBrowser-Control anzeigen Dynamisches Anzeigen von HTML-Texten im WebBrowser-Control, ohne diese aus einer Datei zu laden. | ||
Autor: Dieter Otter | Bewertung: | Views: 24.861 |
www.tools4vb.de | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Dieser Tipp zeigt, wie sich ein beliebiger HTML-Text, der bspw. dynamisch zur Laufzeit erzeugt wurde, im WebBrowser-Control anzeigen lässt, ohne dass der Text zuvor in einer HTML-Datei gespeichert werden muss.
Eine gespeicherte Datei lässt sich bekanntlich über die Navigate-Methode des WebBrowser-Controls laden und anzeigen - was aber, wenn der Text direkt aus einer Stringvariable heraus im WebBrowser angezeigt werden soll?
Wie das geht, zeigt nachfolgender Code.
Zunächst muss eine leere Seite ohne Inhalt angezeigt werden:
WebBrowser1.Navigate "about:blank"
Dieses leere Dokument nutzen wir nun, um unseren HTML-Textstring direkt in das Body-Objekt zu schreiben:
' HTML-Textstring in das WebBrowser-Control schreiben WebBrowser1.Document.Body.InnerHTML = sHTML
Das Ganze verpacken wir nun in eine kleine Funktion:
''' <summary> ''' Zeigt im WebBrowser-Control einen beliebigen HTML-Text dynamisch zur Laufzeit an ''' </summary> ''' <param name="WebBrowser">WebBrowser-Control</param> ''' <param name="HtmlText">HTML-Text, der angezeigt werden sol</param> Private Sub wbShowHTML(ByVal WebBrowser As WebBrowser, ByVal HtmlText As String) With WebBrowser If IsNothing(.Url) OrElse .Url.AbsoluteUri <> "about:blank" Then ' zunächst eine leere Seite laden .Navigate("about:blank") Application.DoEvents() End If ' HTML-Textstring in das WebBrowser-Control schreiben .Document.Body.InnerHtml = HtmlText End With End Sub
Aufrufbeispiel:
' HTML-Text erstellen Dim sHTML As String = "<h1>HTML-Text im WebBrowser-Control</h1>" & _ "<p>Dieser Tipp zeigt, wie sich ein beliebiger HTML-Text, der bspw. dynamisch zur " & _ "Laufzeit erzeugt wurde, im WebBrowser-Control anzeigen lässt, ohne dass der " & _ "Text zuvor in einer HTML-Datei gespeichert werden muss.</p>" ' HTML-Text im WebBrowser anzeigen wbShowHTML(WebBrowser1, sHTML)