在C#项目中使用资源

时间:2011-04-07 16:28:49

标签: c# visual-studio resources

我环顾四周,看到了使用资源的帖子 (如何对创建和使用的资源,在网) 。我学会了如何将文件放入项目的资源中并以编程方式检索它。但是,我没有看到拥有资源的想法,也许吧? 我在表单上有一个标签,我有一个webbrowser控件,但我只想显示一个帮助文档。 我把html文件作为资源,但是当我在查找资源后打印出来时,它会给我所有文件的文本(html标签)而不仅仅是文件的名称,这样我就可以做类似

helpBrowser.Url = new Uri("file//:"+Properties.Resources.help);

我可能需要一种不同的方法。我使用控件不是实际浏览,而只是显示一个页面,这不是确切的用途。

谢谢,伙计们。 StackOverflow很棒!

3 个答案:

答案 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中,无法通过浏览器直接访问。 您需要检索资源,将其保存到临时文件,然后将浏览器定向到该临时文件。