在记事本中以文本文件格式打开资源
Posted
技术标签:
【中文标题】在记事本中以文本文件格式打开资源【英文标题】:Opening Resources in Text File Format in Notepad 【发布时间】:2010-12-31 09:50:50 【问题描述】:我在使用资源文件时遇到了一些问题。
在我的项目中,我使用了一堆位图文件和两个 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”时,它会显示文件的内容。所以它在那里,只是不作为文件?我想我在这里遗漏了一些东西 我到处搜索是什么东西,但找不到任何有用的东西。我会很高兴找到一些线索。 (对不起,如果不清楚,我的编程技能比我不太好的英语差得多) 谢谢:)
【问题讨论】:
你的英语没问题,Agata。 【参考方案1】:资源嵌入在您的 .dll 或 .exe 文件中,因此无法使用 Process 类访问。您可以将 .txt 资源写入临时目录并使用 Process 在那里启动临时文件。
附加信息:我已将 .txt 文件添加到 Resource.resx 文件以测试您的问题,纯文本以字符串形式存储在资源文件中。因此,如果您访问 Resources.(InsertYourTextFilesName) 属性,则会返回文本文件中的文本。
如果您可能想知道:二进制文件(例如非纯文本文件)作为字节数组存储在 resource.resx 中,并在编译后的程序集中进行。
【讨论】:
谢谢,Webleeuw,临时文件似乎是个好主意,我会尝试这样做:) 好的!我只是将资源用作普通字符串并将其写入临时文件。一切正常,再次感谢您:)以上是关于在记事本中以文本文件格式打开资源的主要内容,如果未能解决你的问题,请参考以下文章