好的,所以我创建了一个dictionary
,其中包含一个字符串和一个相应的bitmap
图像。我已将所有相关图像正确添加到项目资源中,并尝试了一些不同的方法将它们添加到运行时dictionary
中,以便根据输入的字母更轻松地访问图像。这是我创建dictionary
的代码以及我尝试从我的资源填充它的代码。
Dictionary<String,Image> namesAndImages = new Dictionary<String, Image>();
var resources = Properties.Resources.ResourceManager.GetResourceSet(CultureInfo.CurrentCulture, true, true);
foreach (System.Collections.DictionaryEntry myResource in resources)
{
if (myResource.Value is Bitmap) //is this resource is associated with an image
{
String resName = myResource.Key.ToString(); //get resource's name
Image resImage = myResource.Value as Image; //get the Image itself
namesAndImages.Add(resName, resImage);
}
}
无论出于何种原因,它似乎都没有将任何图像添加到字典中。我已经测试了几个不同的键值对,并且根本没有任何内容。有什么想法吗?
答案 0 :(得分:1)
您可以使用<Resource file name>.ResourceManager
获取与给定资源文件关联的ResourceManager
。可以这样访问图像:
Dictionary<string, Image> dict = new Dictionary<string, Image>();
var resourceManager = Resource1.ResourceManager;
var resources = resourceManager.GetResourceSet(CultureInfo.CurrentCulture, true, true);
foreach (DictionaryEntry item in resources)
{
if (item.Value is Bitmap)
{
dict.Add(item.Key as string, item.Value as Image);
}
}