Frage

Auf dem .NET-WebBrowser den einzigen Weg, steuert ich sehen kann, eine Seite zu laden, um die URL-Eigenschaft zu setzen. Aber ich möchte, anstatt es Code einige HTML geben, die ich bereits im Speicher haben, ohne sie zuerst in eine Datei zu schreiben. Gibt es eine Möglichkeit, dies zu tun? Oder gibt es Kontrollen, die dies tun wird?

War es hilfreich?

Lösung

Sie möchten die Documenttext Eigentum:

http://msdn.microsoft. com / en-us / library / system.windows.forms.webbrowser.documenttext.aspx

http://www.codeguru.com/forum/showpost ? .php p = 1691329 & postcount = 9 : Auch sollten Sie ein paar Dinge bieten:

  • Sie nicht gesetzt Documenttext im Konstruktor. Verwenden Form_Load oder Ihre eigene Methode. Wenn Sie Documenttext im Konstruktor festgelegt, werden Sie nicht in der Lage sein, es zu setzen wieder überall in der Anwendung. Achten Sie darauf, zu prüfen, ob die Formular-Designer es entweder nicht festgelegt haben.

  • Sie können nur einmal pro Documenttext Methodenaufruf gesetzt. Das ist seltsam und sehr wahrscheinlich ein Fehler, aber es ist wahr. Zum Beispiel: Documenttextes in einer for-Schleife Einstellung wird nur dann richtig auf der ersten Iteration der Schleife gesetzt. Sie können jedoch erstellen eine kleine Methode Documenttext auf die übergebenen in Zeichenfolge zu setzen, rufen Sie dann diese Methode in einer for-Schleife.

Andere Tipps

Sie verwenden entweder WebBrowser.DeocumentText ( http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.documenttext.aspx ) oder WebBrowser.DocumentStream ( http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser .documentstream.aspx ), um den HTML-Code in dem aktuellen Dokument zu ändern. Möglicherweise müssen Sie etwa navigieren. Leer, wenn Sie nicht über ein Dokument haben,

Auch im Allgemeinen überall Sie einen Stream verwenden können, können Sie Memorystream verwenden, um Daten wickeln Sie im Speicher haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top