2010-08-13 5 views
3

Je veux définir la couleur de mon contrôle en utilisant une variable de chaîne avec une valeur de dire "Bleu". Normalement, vous devez le définir:Comment définir la couleur du contrôle sans utiliser l'énumération?

Label1.Color = Color.Blue;

Mais maintenant, je veux remplacer Color.Blue la valeur qui est dans ma variable de chaîne, comme:

Label1.Color = sColor; // sColor = "Blue"

Mais je reçois l'erreur: Impossible de convertir le type 'string' à "System.Drawing.Color"

Toute aide appréciée.

Répondre

4

Utilisez la fonction Color.FromName pour passer dans une chaîne:

Color slateBlue = Color.FromName("SlateBlue"); 
+0

Parfait, merci les gars – DarthCoder

0

Eh bien vous pouvez analyser l'énumération, ou bien mapper les valeurs à l'énumération en utilisant une instruction case.

L'analyse syntaxique enum se fait comme suit:

System.Drawing.Color colorValue = (System.Drawing.Color)Enum.Parse(typeof(System.Drawing.Color), sColor); 
+0

Merci pour la réponse: je reçois cette erreur: type fourni doit être un Enum. Nom du paramètre: enumType – DarthCoder

Questions connexes