String en System.Drawing.Color :: Conversion [Résolu]

juliendemomaker 7 Messages postés mercredi 8 novembre 2000Date d'inscription 12 mars 2006 Dernière intervention - 12 mars 2006 à 16:31 - Dernière réponse : yann_lo_san 1137 Messages postés lundi 17 novembre 2003Date d'inscription 23 janvier 2016 Dernière intervention
- 12 mars 2006 à 19:37
Hello !

Bon comme le dit le titre je recherche à convertir un String en System.Drawing.Color...
En faîte je cherche à charger depuis un fichier de configuration la couleur d'arriére plan (je la sauvegarde aussi quand l'utilisateur en choisit une).
Du coup dans le fichier de configuration j'ai :

CouleurFond=Color [A=255, R=228, G=226, B=254]

Et je souhaite donc reprendre le "Color [A=255, R=228, G=226, B=254]" pour charger la couleur de fond au démarrage de l'application :)

Merci d'avance :) @++
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 12 mars 2006 à 16:58
3
Merci
Oups erreur de frappe : Color.FromArgb
:-)

Sinon je te déconseille de passer par ToString pour stocker ta couleur, passe plutôt par le TypeConverter dont le type Color dispose.
En plus il te permettra d'éviter de passer par le parsage de la chaine et FromArgb, comme il permet de faire l'opération dans le sens inverse.
Et tu ne t'exposera pas non plus au changement de forme de la chaine : pour une couleur nommée, ToString renverra seulement le nom (ex : "Color [Red]")

/*
coq
MVP Visual C#
*/

Merci cs_coq 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 121 internautes ce mois-ci

Commenter la réponse de cs_coq
Meilleure réponse
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 12 mars 2006 à 17:23
3
Merci
Obtention du TypeConverter :
TypeConverter colorConverter = TypeDescriptor.GetConverter(typeof(Color));

Petit exemple pour la conversion en chaine :
string ColorFond = (string)colorConverter.ConvertTo(col , typeof(string));

Et l'opération inverse :
Color col = (Color)colorConverter.ConvertFrom(colStr);

Voilà :-)

/*
coq
MVP Visual C#
*/

Merci cs_coq 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 121 internautes ce mois-ci

Commenter la réponse de cs_coq
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 12 mars 2006 à 16:40
0
Merci
Salut,

La méthode Color.FormArgb te permettras de le faire.

/*
coq
MVP Visual C#
*/
Commenter la réponse de cs_coq
juliendemomaker 7 Messages postés mercredi 8 novembre 2000Date d'inscription 12 mars 2006 Dernière intervention - 12 mars 2006 à 16:46
0
Merci
Okay merci c'est bien ça que je cherchez :)
Commenter la réponse de juliendemomaker
juliendemomaker 7 Messages postés mercredi 8 novembre 2000Date d'inscription 12 mars 2006 Dernière intervention - 12 mars 2006 à 17:00
0
Merci
Oui j'ai vus merci :)
Commenter la réponse de juliendemomaker
juliendemomaker 7 Messages postés mercredi 8 novembre 2000Date d'inscription 12 mars 2006 Dernière intervention - 12 mars 2006 à 17:12
0
Merci
Heu par contre je n'ai pas trop compris pour le typeconverter vue que je veux enregistrer dans un fichier les données :

ColorDial.ShowDialog();

this.NfoViewer.BackColor = ColorDial.Color;
string ColorFond=Convert.TypeConverter(ColorDial.Color);

IniFile ReadIni=new IniFile("Config.ini");

ReadIni.SetValue("Design","CouleurFond",ColorFond);
ReadIni.Save();

En gros j'ai ça dans ma fonction qui sauvegarde la couleur. (j'ai remplacer le tostring par TypeConverter mais bon ça ne marche pas ^^)
Commenter la réponse de juliendemomaker
juliendemomaker 7 Messages postés mercredi 8 novembre 2000Date d'inscription 12 mars 2006 Dernière intervention - 12 mars 2006 à 17:44
0
Merci
Okay merci ça marche :)
Commenter la réponse de juliendemomaker
yann_lo_san 1137 Messages postés lundi 17 novembre 2003Date d'inscription 23 janvier 2016 Dernière intervention - 12 mars 2006 à 19:37
0
Merci
Grace a ton rgb, tu peux aussi récuperer le vrai nom de la couleur avec

Enum.GetName(typeof(KnownColor), LaCouleur.ToKnownColor())
Commenter la réponse de yann_lo_san

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.