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

Как оптимально обработать клик по кнопке, если таковых множество

27.05.2015, 18:48. Показов 856. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо реализовать выбор мест в самолёте, есть picture box на нём x кнопок, как собственно я узнаю на какую кнопку нажали? вешать хендлер на каждую кнопку? нет не варик.
Может можно это как-то проще реализовать?

ps:картинка во вложениях
Миниатюры
Как оптимально обработать клик по кнопке, если таковых множество  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.05.2015, 18:48
Ответы с готовыми решениями:

Клик по кнопке, если не знаешь её id
Здравствуйте, как кликнуть по кнопке в Webbrowser, если не знаешь её Id. Вот код самой кнопки <button value="1"...

Матрица : вывести положительные числа. Если таковых нет - вывести надпись об отсутствии таковых чисел
Как вывести надпись об отсутствии положительных чисел? #include <iostream> #include <ctime> using namespace std; void main()...

Как оптимально обработать 3 миллиарда ячеек в одномерном массиве
Надо обработать 3 миллиарда ячеек в одномерном массиве Какой алгоритм посоветуете? тип переменных только short Пробывал просто тупо...

8
Эксперт .NET
 Аватар для Rius
13158 / 7717 / 1679
Регистрация: 25.05.2015
Сообщений: 23,512
Записей в блоге: 14
27.05.2015, 19:02
Как быть с функцией(подробнее внутри, не знаю как это кратко описать)
Можно и без кнопок обойтись, картой изображений, и/или пользовательским контролом.
0
 Аватар для СвободныйНик
191 / 180 / 114
Регистрация: 28.07.2013
Сообщений: 610
27.05.2015, 19:04
Цитата Сообщение от VasLog Посмотреть сообщение
как собственно я узнаю на какую кнопку нажали?
Подключи одно событие Btn_Click для нужных кнопок:
C#
1
2
3
4
5
6
7
8
9
10
Button btn_name = new Button();
...
void Btn_Click(object sender, EventArgs e)
{
    //получаем имя кнопки на которую нажали
    btn_name.Name = (sender as Button).Name;
    //и, например, закрашиваем её в серый цвет
    this.Controls[btn_name.Name].BackColor = System.Drawing.Color.DimGray;
 
}
0
Эксперт .NET
 Аватар для Rius
13158 / 7717 / 1679
Регистрация: 25.05.2015
Сообщений: 23,512
Записей в блоге: 14
27.05.2015, 19:06
СвободныйНик,
C#
1
2
3
4
5
6
7
8
9
void Btn_Click(object sender, EventArgs e)
{
    //получаем кнопку, на которую нажали
    Button btn = (sender as Button);
    if (btn != null) {
        //и, например, закрашиваем её в серый цвет
        btn.BackColor = System.Drawing.Color.DimGray;
    }
}
1
 Аватар для СвободныйНик
191 / 180 / 114
Регистрация: 28.07.2013
Сообщений: 610
27.05.2015, 19:13
Rius, в принципе - это тоже самое
0
1 / 1 / 0
Регистрация: 01.10.2014
Сообщений: 14
27.05.2015, 19:14  [ТС]
Получается ,что избежать вешания события на каждую кнопку не избежать
0
Эксперт .NET
 Аватар для Rius
13158 / 7717 / 1679
Регистрация: 25.05.2015
Сообщений: 23,512
Записей в блоге: 14
27.05.2015, 19:15
СвободныйНик, только нет лишнего кода.
VasLog, вешать событие на каждую кнопку и писать отдельную функцию на каждую кнопку это разное. Можно развешать события программно, если хотите.
1
1 / 1 / 0
Регистрация: 01.10.2014
Сообщений: 14
27.05.2015, 19:20  [ТС]
естественно программно)), по скриншоту разве не видно сколько у меня там кнопочек.. а вообще подумываю сделать это с помощью datagrid (всё-таки каждой кнопке прописывать соответствующее имя не очень хочется)
0
Эксперт .NET
 Аватар для Rius
13158 / 7717 / 1679
Регистрация: 25.05.2015
Сообщений: 23,512
Записей в блоге: 14
27.05.2015, 19:32
А можно сделать по такому принципу. Чтобы не менять код под каждую новую раскладку кресел.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.05.2015, 19:32
Помогаю со студенческими работами здесь

Как обработать клик на строку?
Можно ли? Или только на кнопку? Вот я нарисовала строку g.drawString("privet", 10, 20); и хотела бы, чтобы после нажатия на неё там...

Как обработать клик по ссылке?
Здравствуйте. Возникла проблема обработки клика на ссылку. Ссылка - это путь к файлу. Собственно, зачем это нужно? Хотелось бы, когда...

Оптимально обработать результат запроса
Выполняю задачу: В базе полный бардак по взаиморасчетам с поставщиками. Правильно вели в БП, а в управленческой программе - как Бог на душу...

Как обработать правый клик мышки
Доброго времени суток всем. Уважаемые знатоки подскажите как обработать правый клик мышки по ComboBox. ComboBox прямой обработки не...

Как заменить элементы массива меньших 30 числом 30, а если таковых нет вывести сообщение
Как заменить элементы массива меньших 30 числом 30, а если таковых нет вывести сообщение Sub Main() Dim n, i As...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
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
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru