выбор нескольких меток в форме окна - PullRequest
0 голосов
/ 19 января 2012

предположим, что я нарисовал 1000 меток на форме окна в виде сетки, и каждая метка уникально идентифицирована (например, S001, S002, ... S999) в 10-образной сетке.Можно ли нарисовать прямоугольник вокруг некоторых меток и, таким образом, выбрать только те метки в прямоугольнике.Тогда я мог бы изменить, например, цвет этих ярлыков.

Вы можете спросить, что я пытаюсь добиться;Я хочу нарисовать прямоугольники, чтобы они представляли автомобильные отсеки как парковку, выбрав несколько отсеков и изменив цвет, затем я могу сказать, что они зарезервированы и т. Д. Также я могу сохранить названия меток в базе данных и изменить цвет «отсеков»если отсек занят или нет, и если он занят, используйте событие указателя мыши, чтобы вызвать информацию об автомобиле с помощью всплывающего окна или всплывающей подсказки.

Можно ли это сделать?

Ответы [ 2 ]

0 голосов
/ 19 января 2012

Вы можете создать свой собственный класс для управления всеми вашими объектами Label. Он может иметь метод, такой как public List<Label> GetLabelsInRectangle(Rectangle rectangle), для предоставления списка всех объектов, которые вы хотите перекрасить. Я предполагаю, что внутренне он мог бы использовать двумерный массив объектов Label.

0 голосов
/ 19 января 2012

Да, это возможно.В WPF вы могли бы добиться этого гораздо проще, хотя.Просто сохраните коллекцию ваших представлений экземпляров "lot" и раскрасьте каждую из них соответствующим образом с помощью Color={Binding LotColor}

. Что касается Windows Forms, один из способов - перебрать все элементы управления метками и тех, чьи именазанимают парковку, получат свои границы (для рисования прямоугольника) и свойства цвета шрифта, соответственно скорректированные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...