在 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 是字符串,ImageFile 是 System.Drawing.Bitmap
看看这段代码是否有帮助。
Dim runTimeResourceSet As Object
Dim dictEntry As DictionaryEntry
runTimeResourceSet = My.Resources.ResourceManager.GetResourceSet(System.Globalization.CultureInfo.CurrentCulture, False, True)
For Each dictEntry In runTimeResourceSet
If (dictEntry.Value.GetType() Is GetType(Icon)) Then
Console.WriteLine(dictEntry.Key)
End If
Next
我以 Icon 为例,如果您使用 Bitmap,则必须更改它。
编辑:您将必须使用 dictEntry.Value 的引用并查看如何使用它将其添加到图像列表。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)