Więc chcesz zrobić:
string[] colors = Enum.GetNames(typeof(System.Drawing.KnownColor));
... aby uzyskać tablicę wszystkich collors.
Lub ... Można użyć odbicia, aby uzyskać tylko kolory. KnownColors zawiera elementy takie jak "Menu", kolor menu systemowych itp. Może nie być to, co chcesz. Tak więc, aby dostać się tylko nazwy kolorów w System.Drawing.Color, można użyć refleksji:
Type colorType = typeof(System.Drawing.Color);
PropertyInfo[] propInfoList = colorType.GetProperties(BindingFlags.Static | BindingFlags.DeclaredOnly | BindingFlags.Public);
foreach (System.Reflection.PropertyInfo c in propInfoList) {
Console.WriteLine(c.Name);
}
To pisze wszystkie kolory, ale można łatwo dostosować go do nazwy kolorów dodaj do listy .
Zobacz ten projekt Code Project pod numerem building a color chart.