Итак, вы бы сделали:
string[] colors = Enum.GetNames(typeof(System.Drawing.KnownColor));
... чтобы получить массив всех коллоров.
Или ... Вы можете использовать отражение, чтобы просто получить цвета. KnownColors включает такие элементы, как «Меню», цвет системных меню и т. Д. Это может быть не то, что вам нужно. Итак, чтобы получить только имена цветов в System.Drawing.Color, вы можете использовать отражение:
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);
}
Это записывает все цвета, но вы можете легко адаптировать их для добавления имен цветов в список.
Ознакомьтесь с этим проектом Project Code на построении таблицы цветов .