Название ресурса программно
Хочу менять PictureBox.Image на рисунок из Properties.Resources, но не хочу делать вот так:
Image temp = null;
imgMain.Image = Properties.Resources._1;
switch (treeView1.SelectedNode.Index)
{
case 0: temp = Properties.Resources._1; break;
case 1: temp = Properties.Resources._2; break;
case 2: temp = Properties.Resources._3; break;
case 3: temp = Properties.Resources._4; break;
case 4: temp = Properties.Resources._5; break;
case 5: temp = Properties.Resources._6; break;
default:break;
}
imgMain.Image = temp;
А например так:
imgMain.Image = Properties.Resources + treeView1.SelectedNode.Index.toString();
Но так не получается, поможете?
Делал это с RichTextBox, все работало. А вот с PictureBox проблемы.
Ответы (1 шт):
Автор решения: Andrew
→ Ссылка
на примере ресурса-строки:
string st = Properties.Resources.ResourceManager.GetString("стринговоеИмя");
подсказал гугл по запросу "Properties.Resources from string"
С картинкой должно сработат что-то вроде:
var a = Properties.Resources.ResourceManager.GetObject("стринговоеИмя") as Image;
var b = Properties.Resources.ResourceManager.GetObject("стринговоеИмя") as Bitmap;
или
var c = (Image) Properties.Resources.ResourceManager.GetObject("стринговоеИмя");
var d = (Bitmap) Properties.Resources.ResourceManager.GetObject("стринговоеИмя");