2009-12-31 77 views
2

我在使用资源文件时遇到了一些麻烦。在记事本中以文本文件格式打开资源

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

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”时,它显示了文件的内容。那么它就在那里,而不仅仅是一个文件?我想我在这里失去了一些东西
我到处搜索什么东西,但找不到有用的东西。我会为你提供一些线索。 (很遗憾,如果有些事情不清楚,我的编程技术比我不是那么好的英语差很多) 谢谢:)

+0

你的英语Agata没什么问题。 – pavium 2009-12-31 12:35:47

回答

0

资源嵌入到您的.dll或.exe文件,因此不能与过程进行访问类。您可以将.txt资源写入临时目录,并使用Process在那里启动临时文件。

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

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

+0

谢谢Webleeuw,临时文件好像是个好主意,我会尽力去做:) – Agata 2009-12-31 13:19:03

+0

好的!我只是将资源用作普通字符串,并将其写入临时文件。而且一切工作正常,再次感谢你:) – Agata 2010-01-01 11:28:40