【问题标题】:Load in memory text into WebBrowser control将内存中的文本加载到 WebBrowser 控件中
【发布时间】:2011-04-22 18:37:04
【问题描述】:

在 .Net WebBrowser 控件上,我可以看到加载页面的唯一方法是设置 URL 属性。但我想给它一些我已经在内存中的 HTML 代码,而不是先把它写到文件中。有没有办法做到这一点?或者是否有任何控件可以做到这一点?

【问题讨论】:

    标签: .net controls


    【解决方案1】:

    你想要 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 循环中调用此方法。

    【讨论】:

      【解决方案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。

      【讨论】:

        【解决方案3】:

        此外,通常,在任何可以使用 Stream 的地方,都可以使用 MemoryStream 来包装内存中的数据。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-03-30
          • 1970-01-01
          • 2011-05-22
          • 2012-12-29
          • 1970-01-01
          • 2013-05-05
          • 2017-01-22
          • 1970-01-01
          相关资源
          最近更新 更多