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。这很奇怪,很可能是一个错误,但这是真的。例如:在 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 回答