リソースを反復処理できます..次のようにします。
using System.Collections;
string image_name = "Desert";
foreach (DictionaryEntry kvp in Properties.Resources.ResourceManager.GetResourceSet(CultureInfo.CurrentCulture, true, true)) {
if ((string)kvp.Key == image_name) {
var bmp = kvp.Value as Bitmap;
if (bmp != null) {
// bmp is your image
}
}
}
あなたは素敵な小さな関数でそれをラップすることができます..次のようなもの:
public Bitmap getResourceBitmapWithName(string image_name) {
foreach (DictionaryEntry kvp in Properties.Resources.ResourceManager.GetResourceSet(CultureInfo.CurrentCulture, true, true)) {
if ((string)kvp.Key == image_name) {
var bmp = kvp.Value as Bitmap;
if (bmp != null) {
return bmp;
}
}
}
return null;
}
使用法:
var resourceBitmap = getResourceBitmapWithName("Desert");
if (resourceBitmap != null) {
pictureBox1.Image = resourceBitmap;
}