在Visual Basic项目中我添加了一个包含一堆图像的资源文件(resx)。如何获取资源文件中所有资源的名称
现在我想查询图像的名称。 如果我在Visual Studio IDE中的设计器视图中打开resx文件并选择一个图像,则属性网格会显示一个名称属性(默认为“文件名无扩展名,但可以更改)。
背景是我有一个在运行时创建的图像列表,并且使用资源文件中的图像进行填充。为了能够通过密钥访问这些图像,我必须将其设置为:
我的代码看起来像这样(一切硬编码) :
Dim imagelist as new Imagelist
imageList.Images.Add("A", My.Resources.MyImages.A)
imageList.Images.Add("B", My.Resources.MyImages.B)
imageList.Images.Add("C", My.Resources.MyImages.C)
imageList.Images.Add("D", My.Resources.MyImages.D)
imageList.Images.Add("E", My.Resources.MyImages.E)
....
imageList.Images.Add("XYZ", My.Resources.MyImages.XYZ)
我想实现这一目标:
Dim imagelist as new ImageList
For Each img in GetMeAllImagesWithNameFromMyResourceFile
imageList.Images.Add(img.Name, img.ImageFile)
Next
其中Name是一个字符串和镜像文件一System.Drawing.Bitmap
工程很棒,正是我想要的。只是2个小小的改动:第一:GetResourceSet的第二个参数应该是真的(即使Resouce尚未加载,也可以获得参考)。第二:Icon.GetType()不会工作,因为你没有实例化它,它应该是GetType(Icon)。也许你可以编辑你的文章来纠正这个问题。 – 2009-06-17 07:06:55