Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
LeoCats
0 / 0 / 0
Регистрация: 26.03.2013
Сообщений: 4
#1

Прорисовка прямоугольника поверх дочерних элементов управления контейнера - C#

06.02.2014, 23:46. Просмотров 895. Ответов 3
Метки нет (Все метки)

Я столкнулся со следующей проблемой. У меня на форме есть элемент управления Panel в котором динамически создаются PictureBox. Мне необходимо добавить возможность выделения PictureBox с помощью мыши как в стандартном проводнике Windows: пользователь нажимает левую кнопку мыши и выделяет прямоугольную область. Те элементы PictureBox, которые попали в область, становятся выделенными.

Проблема заключается в прорисовке прямоугольника поверх PictureBox, т.к. они находятся в контейнере Panel. Я пытался решить проблему двумя способами:
1) Поместить прозрачный элемент управления поверх Panel и рисовать прямоугольник на нём.
2) Использовать прорисовку реверзибельного кадра на форме ControlPaint.DrawReversibleFrame.

Первый способ мне не помог т.к. если Panel имеет AutoScroll у меня не получилось выделить элементы PictureBox находящиеся за пределами видимой части Panel.

По второму способу нашел пример кода в MSDN. Но код из примера не определяет дочерние элементы в родительском контейнере Panel, над которыми пользователь нарисовал прямоугольник.

Подскажите, пожалуйста, как можно решить проблему прорисовки прямоугольника поверх дочерних элементов управления контейнера? Возможно есть другой путь решения этой проблемы?

Буду рад любой информации т.к. мучаюсь с этим уже третий день!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2014, 23:46
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Прорисовка прямоугольника поверх дочерних элементов управления контейнера (C#):

Динамическая прорисовка элементов управления
не могу понять почему элементы управления не встают на все окошко...

Показать форму только тогда, когда закончилась прорисовка всех элементов управления
Здравствуйте! Вопрос по Windows Forms. На форме есть много комбобоксов,...

Про рисование поверх элементов управления
Пишу курсовик. Возникла необходимость нарисовать пару стрелочек поверх...

Как отобразить кнопку поверх остальных элементов или поверх tabPage или поверх tabControl?
Как отобразить кнопку поверх остальных элементов или поверх tabPage или поверх...

Вывод listbox поверх нижней границ родительского контейнера (Panel)
Приветствую. К примеру: имеем Panel, и ListBox находящийся возле нижней...

Нужен элемент управления со сворачиваемым списком, похожий на панель элементов управления в VS
Нужен элемент управления со сворачиваемым списком, как панель элементов в VS,...

3
xoraxax
1229 / 1184 / 349
Регистрация: 05.07.2013
Сообщений: 5,731
Завершенные тесты: 1
07.02.2014, 00:05 #2
http://support.microsoft.com/kb/314945
http://www.codeproject.com/Articles/...-Band-Rectangl
http://blog.csharphelper.com/2010/01...ture-in-c.aspx
0
LeoCats
0 / 0 / 0
Регистрация: 26.03.2013
Сообщений: 4
08.02.2014, 00:00  [ТС] #3
Спасибо за ссылки, но они не решают мою проблему т.к. остается непонятным как определить дочерние элементы управления под прямоугольником в родительском элементе управления.

Добавлено через 23 часа 39 минут
Спасибо, мне удалось решить проблему самостоятельно. Тему можно закрыть.
0
MrMiller
5 / 5 / 1
Регистрация: 07.05.2013
Сообщений: 28
Завершенные тесты: 3
10.02.2014, 20:22 #4
Напиши пожалуйста как ты ее решил
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2014, 20:22
Привет! Вот еще темы с решениями:

Прорисовка элементов в Windows Forms
Как сделать прорисовку кнопок ( закрыть, свернуть, развернуть ) ?? И прочее!

Выбор дочерних HTML элементов через HtmlAgilityPack
Добрый день. Я новичок в C#, поэтому не могу разобраться с таким моментом. В...

Итерация по xml с огромным количеством родительских и дочерних элементов
Добрый вечер, ув. <ZAP> <N_ZAP>1847897</N_ZAP> ...

Определить, где находится текущая точка: внутри прямоугольника, снаружи, на границе прямоугольника
Представьте, что у вас на форме есть прямоугольник, границы которого на 10...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru