Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
98 / 81 / 16
Регистрация: 14.01.2011
Сообщений: 438

Нарисовать сетку из клеток на форме, отслеживая клики по каждой из них

17.04.2012, 02:02. Показов 4796. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят,всем добрый вечер. Подскажите как лучше нарисовать сетку из клеток на форме,чтобы потом обработать клик мышки и закрашивать клетки,в зависимости от координат мыши?Хочу реализовать поиск кратчайшего пути от т.А до т. В, а закрашенные клетки будут препятствиями. Я просто с графикой ни разу не работал на c#.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.04.2012, 02:02
Ответы с готовыми решениями:

Нарисовать на форме сетку, а при нажатии заменить на картинку
Всем доброго времени суток. Делаю программу для рисования различных схем. Нужно нарисовать сетку на форме (см. вложение) это я реализовал: ...

Нарисовать сетку
Как отрисовать сетку на picturebox-е из 10 на 20 квадратиков. 10 квадратиков вверх (-2,5mV до 2,5mV), 20 вправо. Сетка нужна для отрисовки...

Нарисовать сетку
Нарисовать сетку, заполняющую прямоугольную область, центр которого совпадает с центром экрана. Рисование выполнить "по точкам",...

4
EvgeniyB
17.04.2012, 03:53
2 способа(может больше - не знаю):

1)Рисование на форме
C#
1
2
3
using System.Drawing;
private Graphics _graph;
_graph = CreateGraphics();
рисует прямо на форме, но все необходимо делать руками

2)Используй таблицу(DataGridView например)
Меньше проблем с выбором клетки и закраской, но, думаю, все же медленней будет чем рисование прямо в форму
98 / 81 / 16
Регистрация: 14.01.2011
Сообщений: 438
17.04.2012, 12:35  [ТС]
Про Graphics я в курсе и разберусь как им пользоваться. Просто спрашиваю как логичней сделать. Как потом обрабатывать клик мышки и закрашивать определённый квадрат,по которому кликнули?
А датагридом не хочу пользоваться..
0
35 / 35 / 1
Регистрация: 14.01.2011
Сообщений: 111
17.04.2012, 12:56
1 создать массив прямоугольников
2 правильно рассчитать координаты для каждого
3 отследить координаты мыши при клике
4 пройтись циклом по прямоугольникам, у класса Rectangle есть метод Contains(Point pt) который определяет находится ли эта точка в текущем прямоугольнике, а дальше, либо генерируй событие либо запускай процедуру как тебе удобнее
1
98 / 81 / 16
Регистрация: 14.01.2011
Сообщений: 438
17.04.2012, 14:18  [ТС]
Egr66001,спасибо,неплохой вариант. Буду так делать)

Добавлено через 52 минуты
Так это всё сделал,осталось самое сложное))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.04.2012, 14:18
Помогаю со студенческими работами здесь

Нарисовать сетку
В картинки видно что не так..но знаю что все таки объяснить придется. Делаю редактор для игры. У меня есть фоновая картинка с размером...

клики по форме
всем трям! подскажите как подсчитать количество кликов по форме извините конечно за тупость по прикалываться хочется))

Нарисовать сетку куба
Всем привет. Подскажите пожалуйста. Вот тут на примере https://jsfiddle.net/60hxkfcg/ если я рисую линии gl.LINES куб получается какой-то...

Нарисовать сетку в picturebox
Подскажите пожалуйста, есть два picturebox. У первого размер 2000x2000 твипов, у второго 10000x10000. На обоих нужно нарисовать сетки, у...

Нарисовать сетку в консоли
здравствуйте, есть, предположим, один элемент сетки: string elem = {{"__","__","__","__"}, {"| "," "," ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru