質問

.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を使用してメモリ内のデータをラップできます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top