Si vous ne souhaitez pas utiliser ColorTranslator, vous pouvez le faire facilement:
string colorcode = "#FFFFFF00";
int argb = Int32.Parse(colorcode.Replace("#", ""), NumberStyles.HexNumber);
Color clr = Color.FromArgb(argb);
Le code couleur n'est que la représentation hexadécimale de la valeur ARGB.
ÉDITER
Si vous devez utiliser 4 valeurs au lieu d'un seul entier, vous pouvez utiliser ceci (en combinant plusieurs commentaires):
string colorcode = "#FFFFFF00";
colorcode = colorcode.TrimStart('#');
Color col; // from System.Drawing or System.Windows.Media
if (colorcode.Length == 6)
col = Color.FromArgb(255, // hardcoded opaque
int.Parse(colorcode.Substring(0,2), NumberStyles.HexNumber),
int.Parse(colorcode.Substring(2,2), NumberStyles.HexNumber),
int.Parse(colorcode.Substring(4,2), NumberStyles.HexNumber));
else // assuming length of 8
col = Color.FromArgb(
int.Parse(colorcode.Substring(0, 2), NumberStyles.HexNumber),
int.Parse(colorcode.Substring(2, 2), NumberStyles.HexNumber),
int.Parse(colorcode.Substring(4, 2), NumberStyles.HexNumber),
int.Parse(colorcode.Substring(6, 2), NumberStyles.HexNumber));
Remarque 1 : NumberStyles est dans System.Globalization.
Remarque 2 : veuillez fournir votre propre vérification d'erreur (le code couleur doit être une valeur hexadécimale de 6 ou 8 caractères)