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

Один обработчик для нескольких PictureBox

29.10.2013, 20:39. Показов 2593. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток. Есть много пикчер боксов около 16 штук, и на каждый нужно привязать клик. И что бы не писать в куче обработчиков одно и тоже, я искал один обработчик для нескольких элементов, и нашел. Получилась вот такая конструкция:
C#
1
2
3
4
5
private void pictureBox_MouseClick(object sender, MouseEventArgs e)
{
PictureBox push = sender as PictureBox;
MessageBox.Show((push.Tag).ToString());
}
Привязал к каждому элементу это событие, но не работает. Ругается что push.Tag ничего не возвращает. В чем проблема?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.10.2013, 20:39
Ответы с готовыми решениями:

Один обработчик события для нескольких TextBox'ов
Добрый день! У меня в приложении 4 текстбокса пишу код для запрета ввода букв, как его применить для 3-х текстбоксов, а 4-й не затрагивать....

Можно ли описать один обработчик для нескольких TextBox-ов?
Всем привет! Хотелось бы спросить, можно ли прописать один метод для разных элементов? В моем случае это текстбоксы. Например, мне нужно...

Один обработчик событий для нескольких разных элементов
Суть в следующем: Есть несколько TextBox, По у молчанию в них записан одинаковый текст. Как сделать, что бы при щелчке на каждый из них...

20
 Аватар для lpvoid
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
29.10.2013, 20:46
а у вас точно в Tag что-то задано?
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
29.10.2013, 20:51
C#
1
MessageBox.Show(push.Tag.ToString());
0
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 32
29.10.2013, 20:57  [ТС]
а у вас точно в Tag что-то задано?
Ну как прочел, он должен возвращать индекс нажатого пикчер бокса
MessageBox.Show(push.Tag.ToString());
Разницы никакой, он же не messagebox ругается
0
26 / 26 / 9
Регистрация: 22.09.2012
Сообщений: 116
29.10.2013, 21:03
lpvoid спросил не что он должен возвращать, а есть ли там что
выведи куда-нибудь
C#
1
2
3
PictureBox push = sender as PictureBox;
Console.out.Writeln(push.Tag);
MessageBox.Show((push.Tag).ToString());
0
 Аватар для lpvoid
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
29.10.2013, 21:04
быть может вы станете отлавливать их по Name?

Добавлено через 21 секунду

Не по теме:

а можно узнать, зачем вам понадобилось 16 пикчербоксов?

0
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 32
29.10.2013, 21:16  [ТС]
а есть ли там что выведи куда-нибудь
Я немного не понял, как вы в windows forms вывели в console. Извините раньше так не делал. Пытался вывести и в лейбл и в месадж бок везде пишет, что "Ссылка на объект не указывает на экземпляр объекта."
Не по теме:
а можно узнать, зачем вам понадобилось 16 пикчербоксов?
Пятнашки задали сделать

Добавлено через 2 минуты
быть может вы станете отлавливать их по Name?
А как это? Может линк дадите или так расскажите?
0
 Аватар для lpvoid
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
29.10.2013, 21:17
Цитата Сообщение от Zeliboba1706 Посмотреть сообщение
Пятнашки задали сделать
да вы просто монстр, ей богу)). берите битмап и рисуйте на нем квадратики, отслеживайте клики по координатам и все такое, а не пихайте на форму сотни пикчербоксов).
Цитата Сообщение от Zeliboba1706 Посмотреть сообщение
Я немного не понял, как вы в windows forms вывели в console. Извините раньше так не делал. Пытался вывести и в лейбл и в месадж бок везде пишет, что "Ссылка на объект не указывает на экземпляр объекта."
Debug.Print() используйте.
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
29.10.2013, 21:20
Если тег пустой, то будет ошибка. Нужно проверять, что в теге что-то содержится, прежде, чем читать значение.
0
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 32
29.10.2013, 21:20  [ТС]
А как же анимация?) Каждый раз перерисовывать что ли?
0
 Аватар для lpvoid
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
29.10.2013, 21:21
да). глаза боятся а руки делают - все нормально будет).
0
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 32
29.10.2013, 21:22  [ТС]
Сейчас проверил, в теге значение null
0
 Аватар для lpvoid
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
29.10.2013, 21:22
ну а что ж вы на null-то хотели?)
0
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 32
29.10.2013, 21:23  [ТС]
Но у меня же не циферки, а картинки полноценные должны быть. Разве это не будет люто жрать ресурсы?
0
 Аватар для lpvoid
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
29.10.2013, 21:24
не будет люто, не волнуйтесь. главное чтоб картники были не по 20 мб каждая и все нормально будет).
1
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 32
29.10.2013, 21:25  [ТС]
ну а что ж вы на null-то хотели?)
Я даже не знаю как на это ответить)
Там вроде как значение нажатого бокса должно было быть
0
 Аватар для lpvoid
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
29.10.2013, 21:26
значения нажатого бокса? это что за покемон зверь такой?) Bitmap чтоль?)
0
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 32
29.10.2013, 21:29  [ТС]
ну вот тема где я такой способ нашел, у парня вроде заработало, я и с кнопками пробовал. Тоже фейл
0
 Аватар для lpvoid
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
29.10.2013, 21:29
ок, раз вас не убедить в преимуществах рисования на битмапе, дергайте пикчербокс не за Tag, а за Name. и отлавливайте по этому самому Name.
1
0 / 0 / 0
Регистрация: 28.04.2013
Сообщений: 32
29.10.2013, 21:34  [ТС]
Да я уже начал делать на битмапе) Еще никогда не занимался подобный, придется пробовать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.10.2013, 21:34
Помогаю со студенческими работами здесь

Как назначить один обработчик события для нескольких контролов
Здравствуйте. Имеется 8 numericUpDown. Подскажите пожалуйста можно ли сократить такой код: private void...

Склеивание изображения нескольких picturebox в один picturebox
Здравствуй, такой вопрос возник на счет picturebox. Можно ли из 3-ех к примеру picturebox(в каждом одинаковая картинка) Склеить все...

Соединение нескольких PictureBox в один
Есть динамически создаваемые PictureBox, все они находятся на panel1 в области размером 870*500. Нужно создать PictureBox размера...

Обработчик событий для нескольких кнопок
Доброго времени суток! У меня есть toolStrip, и на нём есть кнопка, по нажатию этой кнопки, добавляю ещё кнопку web = new...

Один обработчик для разных событий
Пытаюсь создать один обработчик событий для разных событий, например: для множества numericUpDown'ов нужно, чтоб при потере фокуса...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru