19

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

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

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

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

有什么建议么?

多谢

4

3 回答 3

35

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

webBrowser1.DocumentText = "<html>hello <script>alert('hi');</script></html>";
于 2012-10-04T09:36:35.370 回答
14

尝试使用内置的 WebBrowser 控件。

CodeProject 的参考资料:

对于托管 HTML 渲染,请参阅专业 HTML 渲染器

对于动态 HTML 呈现,请参阅在 WinForm 应用程序中显示动态 HTML

于 2012-10-04T09:29:03.977 回答
0
webBrowser1.Document.Write(yourHtmlText);
于 2017-05-05T17:55:05.640 回答