Толик Панков
hex_laden
............ .................. ................

October 2030
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

Толик Панков [userpic]
Colors. Утилита для подбора цвета фона и текста в Windows Forms

Опять студенты приходили, на этот раз с мелким заданием, перечислить все названия цветов в Windows Forms. Заодно уж сделал из этого задания утилитку, чтобы подбирать цвет символов на фоне в Windows Forms. Довел задание, так сказать, до логического конца. В общем, кто не успел сегодня на скайп-чатик, где я всякие мелочи объяснял и делал, ходите на Гитхаб, скачивайте там. Только не забудьте хоть что-нибудь переделать, а то преподы будут ругаться.

Принцип очень простой. Все названия цветов есть в перечислении KnownColor, а в классе Enum есть метод GetNames, который позволяет получить строковый массив с именами элементов перечисления.

string[] ColorNames = Enum.GetNames(typeof(KnownColor));

Вытащить конкретное значение элемента перечисления по его имени (если оно в виде строки) можно с помощью Enum.Parse

KnownColor knownColor =
                    (KnownColor)Enum.Parse(typeof(KnownColor), n);

n - строковая переменная с именем.

Все остальное стандартно, заполняем в цикле GridView и красим ячейки.



Ну и в довесок в программе есть пример использования ColorDialog и получение информации о выбранном в диалоге цвете.



И элемента управления TrackBar для выбора цвета и фона по RGB.



Пользуйтесь на здоровье.

Исходник:
На Гитхабе
На Mega.NZ
Cкомпилированная программка

ЗЫ. Спасибо, Леха, огромное за наводку на GitEve, и удобно, можно всё мышей тыкать, не набивать километры команд в консоли, и идет на всех ОС. Все-таки с этим вашим гитом через консоль несколько неудобно работать, или я пока еще не привык.

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2018/02/22/colors-utilita-dlya-podbora-tsveta-fona-i-teksta-v-windows-forms/

Tags: ,
Comments
(Anonymous)

А где задача по переводу в 16/8/2ричную из 10-ной и наоборот? с Convert, ты объяснял как ввод ограничить ну там 01 или 0-7 Вчера обещал выложить.

Ой, бля, про нее-то я и забыл!