从vb.net中的Resources子目录中获取文件

时间:2010-10-17 19:47:44

标签: vb.net

我正在创建一个地图创建者,可以从各种集合中随机选择图像。我正在尝试做的是在参考资料中设置子文件夹并将不同的图像放在每个文件夹中 - 例如,街道的文件夹,纪念碑的文件夹等。然后我只是从文件夹中创建一个图像数组。文件夹,并选择一个。

出于某种原因,我找不到一种简单的方法来获取子文件夹。我已经尝试使用IO.Path.GetFullPath(My.Resources.ResourceManager.BaseName)并将文件夹名称附加到它的末尾,但没有运气。

还有其他方法可以获得这条路吗?甚至可以使用资源的子文件夹吗?有没有更好的方法来做我想要完成的事情?我真的很想避免手工创建图像数组。

1 个答案:

答案 0 :(得分:0)

我很不清楚你是如何为Resources创建子文件夹的。这可能是您问题的根源。 My.Resources是指您在Project + Properties,Resources选项卡中添加的资源。这些资源嵌入到您的程序中,它们成为程序集本身的一部分。你不能为它获得这样一个资源的路径,它不是一个文件。您必须使用My.Resources.ResourceManager来检索它们,它在内部使用Assembly.GetmanifestResourceStream()来获取程序集内的嵌入数据。

不确定您要使用它的位置,但如果您确实想要使用文件夹而不是嵌入式资源中的文件,那么您应该使用My.Resources。这样做有点麻烦,因为您必须将项目目录中的文件复制到bin \ Debug和bin \ Release目录中。使用My.Resources通常是首选解决方案,尤其是因为用户无法准备好访问您的作品,但它不允许您将资源组织到文件夹中。让我们知道你真正想做什么。