.Net WebBrowser コントロールでページをロードする唯一の方法は、URL プロパティを設定することです。しかし、代わりに、最初にファイルに書き出さずに、既にメモリにある HTML コードをいくつか与えたいと思います。これを行う方法はありますか?または、これを行うコントロールはありますか?
3 に答える
DocumentText プロパティが必要です。
http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.documenttext.aspx
?
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 を使用してメモリ内のデータをラップできます。