如何将资源文件夹中的图像添加到字典中

时间:2017-07-03 08:46:30

标签: c# dictionary bitmap

好的,所以我创建了一个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);
    }
}

无论出于何种原因,它似乎都没有将任何图像添加到字典中。我已经测试了几个不同的键值对,并且根本没有任何内容。有什么想法吗?

1 个答案:

答案 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);
    }
}