Réponse acceptée !
Ah oui, j'avais oublier que quand il s'agit d'une couleur nommée il donne son nom (logique).
Donc soit tu écrit tes routines de convertion, soit tu bidouilles ^^ :
Color col = Color.FromArgb(Color.White.ToArgb()); MessageBox.Show(ColorTranslator.ToHtml(col));
Te donneras #FFFFFF
Alors que Color col = Color.White; MessageBox.Show(ColorTranslator.ToHtml(col));
Te donneras "White", comme il connait le nom.
En gros, le tout est d'éliminer le nom de la structure Color en initialisant une nouvelle à partir de l'ARGB de la couleur nommée.
Exemple de méthode "finie" :
private static string ColorToHex(Color col) { if (col.IsNamedColor || col.IsKnownColor || col.IsSystemColor) { return ColorTranslator.ToHtml(Color.FromArgb(col.ToArgb())); } else { return ColorTranslator.ToHtml(col); } }
/* coq MVP Visual C# */
|