【问题标题】:Display HTML on a winform在 winform 上显示 HTML
【发布时间】:2012-09-25 07:25:45
【问题描述】:

我正在开发一个 win-form 应用程序,它需要某个时间来显示一个“弹出”表单,该表单在 Internet (HTML) 上显示网页的一部分。 我正在使用经典网络请求获取页面的 HTML:

 var serviceRequest = new WebClient();
 var response = serviceRequest.DownloadString(new Uri("www.something.com"));

我已经尝试过使用 web 浏览器 控件,该控件运行良好,但您知道使用它存在一些问题,因为它基于 COM 对象。(我无法动态创建另一个表单包含 Web 浏览器控件而不创建线程 STA 等)

我需要的只是“容器”,我可以在其中注入我想要显示的 HTML。

有什么建议吗?

非常感谢

【问题讨论】:

  • 注意:严格来说,这个问题是关于专门避免使用 WinForms WebBrowser control。但是,该问题的通用标题已提示答案,准确地推荐了该控件 - 并在网络上搜索相关关键字可能会将读者带到这里 可以选择使用该控件。

标签: c# html winforms


【解决方案1】:

您可以使用网页浏览器控制。它可以直接注入所有的html代码。

webBrowser1.DocumentText = "<html>hello <script>alert('hi');</script></html>";

【讨论】:

  • 你可以从我的问题中猜到,我已经尝试过了。请阅读问题
  • 效果很好!谢谢..没想到winforms里有这样的对象。
【解决方案2】:

尝试使用内置的 WebBrowser 控件。

CodeProject 上的参考资料:

有关托管 HTML 渲染,请参阅 Professional HTML Renderer

对于动态 HTML 渲染,请参阅 Show Dynamic HTML in WinForm Applications

【讨论】:

【解决方案3】:
webBrowser1.Document.Write(yourHtmlText);

【讨论】:

    猜你喜欢
    • 2015-03-07
    • 2015-04-03
    • 1970-01-01
    • 2011-05-04
    • 2017-05-26
    • 2017-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多