メモリテキストをWebBrowserコントロールに読み込みます
質問
.Net WebBrowserコントロールで、ページをロードする唯一の方法は、URLプロパティを設定することです。しかし、代わりに、最初にファイルに書き出すことなく、すでにメモリ内にあるHTMLコードを提供したいと思います。これを行う方法はありますか?または、これを行うコントロールはありますか?
解決
DocumentTextプロパティが必要:
http://msdn.microsoft。 com / en-us / library / system.windows.forms.webbrowser.documenttext.aspx
?
from http://www.codeguru.com/forum/showpost .php?p = 1691329& postcount = 9 : また、いくつかのものを提供する必要があります。
-
DocumentTextをコンストラクターに設定しないでください。 Form_Loadまたは独自のメソッドを使用します。 コンストラクターでDocumentTextを設定した場合、アプリケーション内のどこでも再び設定することはできません。フォームデザイナでも設定されていないことを確認してください。
-
DocumentTextを設定できるのは、メソッド呼び出しごとに1回だけです。これは奇妙であり、バグである可能性が高いですが、本当です。 たとえば、forループでDocumentTextを設定すると、ループの最初の反復でのみ適切に設定されます。 ただし、渡された文字列にDocumentTextを設定する小さなメソッドを作成してから、このメソッドをforループで呼び出すことができます。
他のヒント
どちらかのWebBrowser.DeocumentText(を使用しますhttp://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.documenttext.aspx )またはWebBrowser.DocumentStream( http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser .documentstream.aspx )を使用して、現在のドキュメントのHTMLを変更します。ドキュメントがない場合は、about:blankに移動する必要がある場合があります。
また、通常、Streamを使用できる場所であればどこでも、MemoryStreamを使用してメモリ内のデータをラップできます。