Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 29.03.2012
Сообщений: 17

Как связать цвета и NumericUpDown

29.03.2012, 22:23. Показов 1809. Ответов 1
Метки нет (Все метки)

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


Не могу связать компонент-счётчик с цветами
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.03.2012, 22:23
Ответы с готовыми решениями:

Как ограничить numericUpDown?
1) Как ограничить допустимое число в numericUpDown? Мне нужно чтобы максимум пользователь мог ввести 31. А во втором numericUpDown...

Как выделить NumericUpDown
Доброе время суток. Подскажите пожалуйста как можно выделять все что находится в NumericUpDown при каждом попадании его же в фокус. ...

Как создать часы с управлением как в NumericUpDown
Здрасте всем. Уже второй день ломаю голову, как создать контрол, как на рисунке. Подскажет кто как?

1
107 / 107 / 9
Регистрация: 19.12.2010
Сообщений: 417
30.03.2012, 00:32
Лучший ответ Сообщение было отмечено Am@Zonk@ как решение

Решение

Сделал пример. Только окрашивал не GroupBox, а Form, и название выводил в заголовок Form.
Цвета неупорядочены у самого Microsoft в KnownColor... Это нормально.
Код:
C#
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
using System;
using System.Drawing;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class frmMain : Form
    {
        KnownColor[] knownColors;
        public frmMain()
        {
            InitializeComponent();
            knownColors = (KnownColor[])Enum.GetValues(typeof(KnownColor)); //Получаем массив из всех цветов, которые есть в перечислении KnownColor
            numericUpDown1.Minimum = 0; //Необязательно
            numericUpDown1.Maximum = knownColors.Length - 1;
        }
 
        private void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {
            int curNum = Convert.ToInt32(numericUpDown1.Value); //Преобразуем decimal к int
            var curKnownColor = knownColors[curNum]; //Берём цвет с текущим номером.
            this.BackColor = Color.FromKnownColor(curKnownColor); //Преобразуем KnownColor к Color
            this.Text = curKnownColor.ToString(); //Выводим название этого цвета в заголовок формы
        }
    }
}
Проект: KnownColorsCheck.zip
Естественно, что форма не может окраситься в цвет №26 (Transparent - прозрачный), поскольку не поддерживает его. А непрозрачность формы регулируется через свойство Opacity.
Подробнее про цвета и работу с перечислениями:
KnownColor - перечисление
Enum (Справочник по C#)
System.Enum - класс
Пользуйтесь MSDN. Я тоже не помнил, как это можно сделать, но, тем не менее, смог найти в MSDN (ссылки выше).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.03.2012, 00:32
Помогаю со студенческими работами здесь

Как проверить numericUpDown на пустое значение?
bool check = (numericUpDown1.Value > 0) ? true : false; Меня бы вполне устроила такая проверка, если бы не одно НО, оказывается в...

Как обратиться к numericUpDown другой формы
Есть 2-е формы using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using...

Как отобразить элементы NumericUpDown в TextBox
Подскажите как при изменении NumericUpDown отобразить его вTextBox или Lable выглядеть должно где то так NumericUpDown 2 to...

Как сделать в numericUpDown только четные значения?
Четные числа при нажатии стрелочек сделал, но нужно или запретить ввод с клавиатуры или как-то сделать округление

Как прочитать числа из файла в несколько numericupdown?
Есть файл, в котором записано: Число1 Число2 Число3 Число4 Число5 Число6 При нажатии кнопки из этого файла числа должны...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru