0 / 0 / 0
Регистрация: 19.03.2019
Сообщений: 4
1

Как изменять цвет рисования, в зависимости от нажатой кнопки?

19.03.2019, 19:05. Показов 1419. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется поле из панелей 16x16. При наведение курсора мыши на каждую панель она меняет цвет(То есть как в паинте, только по пикселям) . Имеется 10 кнопок, 9 из них отвечают за цвет, 1 сброс. Вопрос заключается в следующем: Как изменять цвет рисования так скажем, в зависимости от того, какую кнопку мы нажали?
Миниатюры
Как изменять цвет рисования, в зависимости от нажатой кнопки?  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.03.2019, 19:05
Ответы с готовыми решениями:

Как поменять цвет нажатой кнопки в runtime?
Надо для кнопки менять цвета в нажатом/ненажатом состоянии. Во время работы программы. Цвет бордюра...

Как отлавливать нажатые клавиши и изменять цвет кнопки
К примеру, нажата клавиша 1, она загорается кнопка 1 зеленым цветом и если опущена клавиша,...

Сохранить цвет нажатой кнопки
Господа! Что-то не получается сохранить цвет у нажатой кнопки. <Style x:Key="btn"...

Обработка формы в зависимости от нажатой кнопки
Итак. Есть записи сообщений, которые берутся из базы. Рядом с каждой есть checbox, в name которого...

4
384 / 184 / 107
Регистрация: 07.01.2016
Сообщений: 496
19.03.2019, 19:13 2
Imperatory, Определить массив с цветами. Каждой кнопке присвоить уникальный Tag. при клике менять текущий цвет на цвет массива с индексом тэга кнопки.
0
0 / 0 / 0
Регистрация: 19.03.2019
Сообщений: 4
20.03.2019, 13:35  [ТС] 3
А можно по подробнее?
0
384 / 184 / 107
Регистрация: 07.01.2016
Сообщений: 496
20.03.2019, 17:20 4
Лучший ответ Сообщение было отмечено Imperatory как решение

Решение

Imperatory,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
            // Инициализация панелей управления
            _samples = new Button[Colors.Length + 1]; // + 1 - очистка поля
            for(int i = 0;i<Colors.Length+1;i++)
            {
                _samples[i] = new Button()
                {
                    Location = new PointF(x0 + (i % wCount) * dxy, y0 + (float)Math.Floor((double)i / wCount) * dxy).ToPoint(),
                    Size = new SizeF(sampleSize, sampleSize).ToSize(),
                    BackColor = i<Colors.Length?Colors[i]:BackColor,
                    Tag = i, // присваиваем уникальный идентификатор
                };
                Controls.Add(_samples[i]);
                _samples[i].MouseDown += (s, e) =>
                {
                    int tag = (int)(s as Button).Tag;
                    if (tag == Colors.Length) { ClearPanels(); return; } // особый обработчик для кнопки очистки
                    _currentColor = Colors[tag];
                };
            }
Миниатюры
Как изменять цвет рисования, в зависимости от нажатой кнопки?   Как изменять цвет рисования, в зависимости от нажатой кнопки?  
Вложения
Тип файла: 7z PanelDrawing.7z (17.9 Кб, 1 просмотров)
1
0 / 0 / 0
Регистрация: 19.03.2019
Сообщений: 4
20.03.2019, 20:16  [ТС] 5
Спасибо огромное
0
20.03.2019, 20:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.03.2019, 20:16
Помогаю со студенческими работами здесь

Менять ссылку в зависимости от нажатой кнопки
Доброго времени суток. Нужно менять адрес iframe в зависимости от нажатой ссылки. В ссылке &lt;a&gt;...

Менять ссылку в зависимости от нажатой кнопки
Доброго времени суток. Нужно менять адрес iframe в зависимости от нажатой ссылки. В ссылке &lt;a&gt;...

Код Activity в зависимости от нажатой кнопки
В меню выбора в Main Activity есть две кнопки, обе вызывающие второе Activity. При нажатии одной...

Изменение содержимого TreeView в зависимости от нажатой кнопки
Не знаю как правильно назвать то действие которое хочу сделать, объясню своими словами. Есть вот...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru