16進値を対応する色名に変換しようとしていますが、ColorConverterのConvertFromStringメソッドが余分な文字を挿入しています。
string s1 = "#000000";
string s2 = "#ccff33";
string s3 = "#990000";
Color color;
ColorConverter converter = new ColorConverter();
color = (Color)converter.ConvertFromString(s1);
Console.Write(color.Name); // Outputs "Black"
color = (Color)converter.ConvertFromString(s2);
Console.Write(color.Name); // Outputs "ffccff33";
color = (Color)converter.ConvertFromString(s3);
Console.Write(color.Name); // Outputs "ff990000";
余分な「ff」は、白黒以外のすべての色で不可解に発生します。なぜこれが起こっているのか誰かが知っていますか?