2

我在使用资源文件时遇到了一些麻烦。

在我的项目中,我使用了一堆位图文件和两个 txt 文件。位图用作控件的背景,但我想在记事本或写字板中打开 .txt 文件。到目前为止,我是从我机器上的文件路径访问它们:

ControlName.backgroundimage = New Bitmap(direcorypath & "/Map.bmp")

Process.Start(direcorypath & "/Instrukcje.txt")

它工作得很好。现在我将这些文件添加到我的资源中(将它们放在可执行文件中对我来说很实用)并将这些行替换为:

ControlName.backgroundimage = New Bitmap(MyProject.My.Resources.Map)

Process.Start(MyProject.My.Resources.Instrukcje)

对于位图,它可以正常工作,但对于 txt 文件,会发生错误,提示找不到文件。有趣的是:当我在“Watch”中键入“MyProject.My.Resources.Instrukcje”时,它会显示文件的内容。所以它在那里,只是不作为文件?我想我在这里遗漏了一些东西
我到处搜索是什么东西,但找不到任何有用的东西。我会很高兴找到一些线索。(对不起,如果不清楚,我的编程技能比我不太好的英语差得多)谢谢:)

4

1 回答 1

0

资源嵌入在您的 .dll 或 .exe 文件中,因此无法使用 Process 类访问。您可以将 .txt 资源写入临时目录并使用 Process 在那里启动临时文件。

附加信息:我在 Resource.resx 文件中添加了一个 .txt 文件来测试您的问题,并且纯文本作为字符串存储在资源文件中。因此,如果您访问 Resources.(InsertYourTextFilesName) 属性,则会返回文本文件中的文本。

如果您可能想知道:二进制文件(例如非纯文本文件)作为字节数组存储在 resource.resx 中,并在编译后的程序集中进行。

于 2009-12-31T12:43:08.120 回答