|
239 / 234 / 8
Регистрация: 05.05.2011
Сообщений: 1,553
|
|||||||||||
Выбор picturebox.16.05.2011, 12:45. Показов 1645. Ответов 15
Метки нет (Все метки)
Здравствуйте!
Пытаюсь разработать игру, типо шахмат, но до завершения мне пока еще далеко. Учась на примерах, столкнулся с проблемой. Как можно сделать так, чтобы при нажатии на PictureBox, картинка в нем, менялась на другую? Вернее я не понимаю как определить то, какая из картинок будет нажата. Про что почитать стоит? Или какое есть решение? Думал, что будет что-то типо :
Вот код программы
0
|
|||||||||||
| 16.05.2011, 12:45 | |
|
Ответы с готовыми решениями:
15
Выбор необходимого pictureBox
Выбор отдельного изображения на picturebox |
|
334 / 270 / 18
Регистрация: 19.01.2011
Сообщений: 597
|
|
| 16.05.2011, 13:57 | |
|
Какая среда используется? WPF или Winforms?
0
|
|
|
Кодило
251 / 179 / 23
Регистрация: 25.11.2009
Сообщений: 685
|
||||||
| 16.05.2011, 14:07 | ||||||
|
Winsor,
0
|
||||||
|
239 / 234 / 8
Регистрация: 05.05.2011
Сообщений: 1,553
|
|
| 16.05.2011, 15:16 [ТС] | |
|
WindowsForm
0
|
|
|
334 / 270 / 18
Регистрация: 19.01.2011
Сообщений: 597
|
|
| 16.05.2011, 15:20 | |
|
Ну как один из вариантов.
Запустите проект и понажымайте мышкой на доску. Упс... а аттача нету...
0
|
|
|
334 / 270 / 18
Регистрация: 19.01.2011
Сообщений: 597
|
|
| 16.05.2011, 15:21 | |
|
Еще раз..
1
|
|
|
239 / 234 / 8
Регистрация: 05.05.2011
Сообщений: 1,553
|
|
| 16.05.2011, 15:28 [ТС] | |
|
Эм... спасибо! А есть ли еще какие-нибудь варианты?
0
|
|
|
Заблокирован
|
|
| 16.05.2011, 15:29 | |
|
может пригодится: клик
1
|
|
|
334 / 270 / 18
Регистрация: 19.01.2011
Сообщений: 597
|
|
| 16.05.2011, 15:32 | |
|
Непонял, какие именно еще варианты есть? Вернее что именно в вариантах интересует?
0
|
|
|
239 / 234 / 8
Регистрация: 05.05.2011
Сообщений: 1,553
|
|
| 16.05.2011, 16:03 [ТС] | |
|
Ну... даже не знаю=)
А например если нужно сделать, чтобы я нажимал на пикчер бокс с фигурой, и мне надо было бы переместить его в соседнюю клетку. Это как выглядеть должно? Мне просто необходимо менять location? хотя я в коде не вижу такого
0
|
|
|
334 / 270 / 18
Регистрация: 19.01.2011
Сообщений: 597
|
|
| 16.05.2011, 16:07 | |
|
Ну. алгоритм примерно такой (все делается в одной процедуре).
i j - индексы элемента, на который кликнули стереть board[i,j].Image , т.е. нарисовать чистый квадратик того цвета которого надо board[i+1,j].Image = bitmap - картинка появляется правее от текущей board[i,j+1].Image = bitmap - картинка появляется ниже от текущей board[i+1,j+1].Image = bitmap - картинка появляется по диагонали от текущей ну и так далее... т.е. - стираем на старом месте, рисуем на новом месте. location у picturebox-ов остается такой-же.
0
|
|
|
239 / 234 / 8
Регистрация: 05.05.2011
Сообщений: 1,553
|
||||||
| 17.05.2011, 10:46 [ТС] | ||||||
|
тоесть в
или же вернее создавать несколько событий, для каждого пикчербокса в который хотим переместить?
0
|
||||||
|
334 / 270 / 18
Регистрация: 19.01.2011
Сообщений: 597
|
|
| 17.05.2011, 10:51 | |
|
Не понял вопрос, если честно. Причем тут события нажатия на пиктербокс к рисованию в нем фигуры? ты ничего никуда не перемешаешь, ты просто пиктебоксу в новой позиции меняешь Image для вывода на нем. А на том пикчебоксе уже есть событие нажатия. Оно присваивалось при создании.
Добавлено через 1 минуту Тебе нужно лишь правильно разработать алгоритм обработки события нажатия. Можно придумать класс, описывающий твою клетку, вернее, ее состояния, и хранить его в поле Tag текущего пикчебокса.
1
|
|
|
239 / 234 / 8
Регистрация: 05.05.2011
Сообщений: 1,553
|
|
| 17.05.2011, 10:55 [ТС] | |
|
попробую в течении дня разобраться.. к вечеру отпишусь
0
|
|
|
239 / 234 / 8
Регистрация: 05.05.2011
Сообщений: 1,553
|
||||||
| 17.05.2011, 14:51 [ТС] | ||||||
|
Не хочу показаться совсем некомпетентным, но все же задам вопросы которые у меня возникли по коду.(в самом коде комментами пометил). Что сейчас можно прочесть по этой теме?
0
|
||||||
|
334 / 270 / 18
Регистрация: 19.01.2011
Сообщений: 597
|
|||||||||||
| 17.05.2011, 15:38 | |||||||||||
|
Tag - свойство объекта PictureBox типа object. Т.е. Вы можете хранить в нем любую информацию. я например, храню в нем массив из 3-х элементов, два индекса и индекс картинки в ресурсах приложения.
PictureBox clicked=sender as PictureBox; - здесь получаем ссылку на объект, по которому кликнули мышкой. полученный указатель приводиться к типу PictureBox, потому что он как параметр события типа object. Добавлено через 1 минуту По этой теме можно прочесть руководство по программированию на C# и руководство по WindowsForms... Добавлено через 1 минуту Stream s = this.GetType().Assembly.GetManifestResou rceStream("WindowsFormsApplication4.ches s."+res_names[file]); Загружаем из ресурсов приложения картинку. Картинки добавлены в проект и им установлено свойство Embedded resource (так кажется звучит, посмотрите в проекте). Добавлено через 1 минуту
0
|
|||||||||||
| 17.05.2011, 15:38 | |
|
Помогаю со студенческими работами здесь
16
Выбор картинки в OpenFileDialog для PictureBox
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|