2016-07-18 11 views
-1

Ich habe ein Windows Form mit einer Button Steuerung namens ButtonSelector. Ich habe eine String-Variable colorBg, die derzeit den Wert Gelb speichert. Properties.Resources hat einen Eintrag für eine Bilddatei, die auch Gelb heißt.Setzen Sie BackgroundImage aus Zeichenfolge und Properties.Resources?

Wie kann ich ButtonSelector.BackgroundImage auf MyApp.Properties.Resources.Yellow mit dem Wert aus meiner Variablen colorBg setzen?

ich derzeit switch-case bin mit:

string colorBg = "Yellow"; 
switch (colorBg) 
{ 
    case "Yellow": 
     buttonSelector.BackgroundImage = MyApp.Properties.Resources.yellow; 
     break; 
    case "Blue": 
     buttonSelector.BackgroundImage = MyApp.Properties.Resources.blue; 
     break; 
    case "Green": 
     buttonSelector.BackgroundImage = MyApp.Properties.Resources.green; 
     break; 
} 

Dank.

+1

Mögliches Duplikat von [ Wie man einen Wert aus der Ressourcendatei mit seinem Schlüssel erhält] (http://stackoverflow.com/questions/5946539/how-to-get-a-value-from-resource-file-using-its-key) – Kinetic

Antwort

0

rbhatup,

ButtonSelector.BackgroundImage = MyApp.Properties.Resources.GetObject (colorbg);

das funktioniert, wenn alle Sterne ausgerichtet sind. Die Sterne sind:

  1. colorbg enthält einen Wert, der tatsächlich in Ihren Ressourcen ist
  2. Das Ressourcenelement ist ein Bild, das wiedergegeben werden kann.

In der Produktion würde ich einen Versuch fangen, um dies hat und robuste Prüfung des Wertes von colorbg usw.

+0

'Eigenschaften .Resources' hat keine Methode namens 'GetObject'. – rbhat

0

ich so etwas wie dies am Ende mit:

ResourceManager rm = Properties.Resources.ResourceManager; 
Bitmap myImage = (Bitmap)rm.GetObject(color); 
buttonSelector.BackgroundImage = myImage; 
Verwandte Themen