我环顾四周,看到了使用资源的帖子 (如何对创建和使用的资源,在网) 。我学会了如何将文件放入项目的资源中并以编程方式检索它。但是,我没有看到拥有资源的想法,也许吧? 我在表单上有一个标签,我有一个webbrowser控件,但我只想显示一个帮助文档。 我把html文件作为资源,但是当我在查找资源后打印出来时,它会给我所有文件的文本(html标签)而不仅仅是文件的名称,这样我就可以做类似
helpBrowser.Url = new Uri("file//:"+Properties.Resources.help);
我可能需要一种不同的方法。我使用控件不是实际浏览,而只是显示一个页面,这不是确切的用途。
谢谢,伙计们。 StackOverflow很棒!
答案 0 :(得分:2)
WebBrowser是一个非托管组件,它对.NET资源一无所知。它有一个协议来读取非托管资源,但你不想去那里。只需使用DocumentText属性:
private void HelpButton_Click(object sender, EventArgs e) {
webBrowser1.DocumentText = Properties.Resources.HelpPage;
}
注意显示离线HTML的常见问题,它不知道在哪里可以找到嵌入在html中的任何图像。如果这是一个交易破坏者,那么你最好将文件放在磁盘上。无论如何,这是针对大型文件的全方位更好的解决方案。
答案 1 :(得分:1)
您无法直接将资源作为具有托管资源的文件进行访问。您最终必须手动将内容插入Web浏览器控件。
答案 2 :(得分:1)
资源嵌入在您的EXE或DLL中,无法通过浏览器直接访问。 您需要检索资源,将其保存到临时文件,然后将浏览器定向到该临时文件。