Этот метод использует отражение для проверки предопределенных цветов в классе Color
и сравнения их с цветом, переданным в качестве аргумента. Это может быть оптимизировано дальше, но оно должно дать вам представление об общей технике.
private static String GetColorName(Color color)
{
var predefined = typeof(Color).GetProperties(BindingFlags.Public | BindingFlags.Static);
var match = (from p in predefined where ((Color)p.GetValue(null, null)).ToArgb() == color.ToArgb() select (Color)p.GetValue(null, null));
if (match.Any())
return match.First().Name;
return String.Empty;
}