8

.Net WebBrowser コントロールでページをロードする唯一の方法は、URL プロパティを設定することです。しかし、代わりに、最初にファイルに書き出さずに、既にメモリにある HTML コードをいくつか与えたいと思います。これを行う方法はありますか?または、これを行うコントロールはありますか?

4

3 に答える 3

15

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 ループで呼び出すことができます。

于 2008-09-29T18:35:37.900 に答える
2

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 に移動する必要がある場合があります。

于 2008-09-29T18:38:07.443 に答える
0

また、一般に、Stream を使用できる場所であればどこでも、MemoryStream を使用してメモリ内のデータをラップできます。

于 2008-09-29T18:38:00.143 に答える