Как я могу получить набор всех цветов в Системе. Рисование. Цвет?

Я работал над этим сценарием. Попробуйте это. (Python 2.7.15)

running=True
name=raw_input("What is your name")
pin=raw_input("what is the pin")
if pin==("1234"):
     print ("welcome the northen frock")
else:
    running=False

Python 3:

    running=True
    name=input("What is your name")
    pin=input("what is the pin")
    if pin==("1234"):
         print ("welcome the northen frock")
    else:
        running=False
9
задан Oded 10 November 2008 в 21:10
поделиться

7 ответов

Таким образом, Вы сделали бы:

string[] colors = Enum.GetNames(typeof(System.Drawing.KnownColor));

... получить массив всех колец.

Или... Вы могли использовать отражение, чтобы просто получить цвета. KnownColors включает объекты как "Меню", цвет системных меню, и т.д. это не могло бы быть тем, чего Вы требовали. Так, для получения просто названий цветов в Системе. Рисунок. Цвет, Вы могли использовать отражение:

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);
}

Это выписывает все цвета, но Вы могли легко адаптировать его для добавления названий цвета к списку.

Проверьте этот проект Проекта Кода на создание цветовой схемы.

19
ответ дан 4 December 2019 в 06:27
поделиться

Попробуйте это:

foreach (KnownColor knownColor in Enum.GetValues(typeof(KnownColor)))
{
   Trace.WriteLine(string.Format("{0}", knownColor));
}
6
ответ дан 4 December 2019 в 06:27
поделиться

В дополнение к какой сказанный jons911, если Вы только хотите "именованные" цвета а не системные цвета как "ActiveBorder", Color класс имеет свойство IsSystemColor, которое можно использовать для фильтрования их.

5
ответ дан 4 December 2019 в 06:27
поделиться

В Системе. Рисунок там является Перечислением KnownColor, он указывает известные системные цвета.

Список <>: Перечислите allColors = новый Список (Перечисление. GetNames (typeof (KnownColor)));

Массив [] строка [] allColors = Перечисление. GetNames (typeof (KnownColor));

1
ответ дан 4 December 2019 в 06:27
поделиться

Необходимо будет использовать отражение для получения цветов от Системы. Рисование. Цветная структура.

System.Collections.Generic.List<string> colors = 
        new System.Collections.Generic.List<string>();
Type t = typeof(System.Drawing.Color);
System.Reflection.PropertyInfo[] infos = t.GetProperties();
foreach (System.Reflection.PropertyInfo info in infos)
    if (info.PropertyType == typeof(System.Drawing.Color))
        colors.Add(info.Name);
1
ответ дан 4 December 2019 в 06:27
поделиться

Вот страница онлайн, которая показывает удобный образец каждого цвета наряду с его именем.

1
ответ дан 4 December 2019 в 06:27
поделиться

Большинство ответов здесь приводят к коллекции цветовых имен (строк) вместо System.Drawing.Color объектов. Если вам нужна коллекция фактических системных цветов, используйте это:

using System.Collections.Generic;
using System.Drawing;
using System.Linq;
...
static IEnumerable<Color> GetSystemColors() {
    Type type = typeof(Color);
    return type.GetProperties().Where(info => info.PropertyType == type).Select(info => (Color)info.GetValue(null, null));
}
5
ответ дан 4 December 2019 в 06:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: