Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2012, 22:16   #1
Am@Zonk@
Новичок
Джуниор
 
Регистрация: 29.03.2012
Сообщений: 1
По умолчанию Просмотр цветов

Вот такая задача:
Форма содержит компонент-счетчик NumericUp-Down с заголовком-меткой «Номер цвета» и панель GroupBox с меткой Label. При вводе в компонент NumericUpDown номера одного из стандартных цве-тов, входящих в перечисление KnownColor, панель GroupBox закрашивается этим цветом, а название этого цвета выводится в заголовке этой панели ин-версным цветом. В начале работы в панели отобра-жается черный цвет (Black); диапазон допустимых значений компонента NumericUpDown должен соот-ветствовать диапазону всех стандартных цветов пере-числения KnownColor: от AliceBlue до YellowGreen. Меню формы содержит одно подменю «Commands» с командами «Color...» и «Exit». Команда «Color...» приводит к появлению диалогового окна ColorDialog, позволяющего выбрать цвет для фона панели Group-Box. Если выбранный цвет является одним из стан-дартных цветов, то в компоненте NumericUpDown появляется его номер, если выбранный цвет не явля-ется стандартным цветом, то об этом выводится со-общение в информационном окне (с помощью функ-ции MessageBox.Show), и фон панели не изменяется.


Не могу связать компонент-счётчик с цветами
Am@Zonk@ вне форума Ответить с цитированием
Старый 01.04.2012, 20:15   #2
stalsoft
Форумчанин
 
Регистрация: 09.06.2011
Сообщений: 147
По умолчанию

Если я правильно понял вопрос, то все очень просто!
Сначала делаем:

List<string> myKnownColors = new List<string>();
foreach (var color in Enum.GetNames(typeof(KnownColor)))
myKnownColors.Add(color.ToString()) ;

таким образом мы загрузим названия всех цветов с перечисления KnownColor, и сохраним их в наш лист, основанный на string'e.

Далее, когда пользователь вводит число (номер knownColor'a), мы просто выдергиваем нужное нам название цвета с нашего листа (в листе напомню находится список всех knowColor'ов). Пример:

string knownColorName = myKnownColors[Convert.ToInt32(textBox1.Text)];
(в этом примере берется текст с TextBox'a, в твоем случаи, будет твой контрол)

далее получаем цвет для закраски чего либо:
Color c = Color.FromName(knownColorName);

для самоуверенности, делаем проверку -

MessageBox.Show(с.IsKnownColor.ToSt ring());
если "с" - это элемент с перечисления knownColor, то мы увидим в сообщении текст TRUE.

вроде ответил на вопрос)
У женщин чары образуются из стрингов;
А у программистов наоборот - стринги образуются из чаров;
stalsoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реакция цветов Dark Espeon Помощь студентам 0 18.03.2011 18:08
Перевод цветов RIO Общие вопросы Delphi 10 11.11.2009 15:10
Сортировка цветов Altera Общие вопросы Delphi 21 30.09.2009 17:55
Сравнивание цветов Zeraim Общие вопросы Delphi 7 26.04.2008 12:49