|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.06.2011, 22:40 | #1 |
Пользователь
Регистрация: 01.06.2011
Сообщений: 53
|
flowlayoutpanel: помещение картинки/элемента поверх панели
Добрый день
Возникла следующая потребность: имеется flowlayoutpanel с динамически раполагаемыми на ней элементами label (у каждого контрола autosize=false). При наведении мыши на любой из элементов по событию MouseEnter высота соответствующего контрола увеличивается на 80 пикселей, отображая дополнительную информацию - нужно всё это для компактного отображения порядка сотни элементов на одном экране. Теперь возникающие проблемы (связанные с особенностями flowlayoutpanel): при наведении мыши и увеличении высоты одного из лэйблов следующие ряды сдвигаются вниз, при убирании мыши и уменьшении высоты до стандартной - нижние ряды сдвигаются вверх, и при обыкновенном проведении мышью с угла экрана до, например, центрального label всё выглядит дико уродски, хаотические движения рядов вверх-вниз, куча пустого места между рядами при достижении цели... Всё из-за того, что flowlayoutpanel дейсвтует по аналогии с <table> в html и перекрытия элементов в принципе невозможны Возникла следующая идея: элемент, высота которого должна увеличиваться, на самом деле не увеличивается, а поверх него просто отображается либо картинка, автоматически сгенерённая, либо новый label, который не принадлежит flowlayoutpanel и теоретически не должен вызывать смещения рядов. Но при появлении какого-либо элемента над flowlayoutpanel он теряется, и даже BringToFront() для элемента не срабатывает - он будто проваливается под панель... Как можно организовать требуемое? Что можно сделать с z-ордером в данном случае, чтобы новый элемент мог отображаться поверх панели? Или это нереально? Какие будут предложения? Заранее спасибо! |
01.06.2011, 23:04 | #2 |
Форумчанин
Регистрация: 06.05.2011
Сообщений: 287
|
Отображать, например, ContextMenuStrip. Если требуется сложное содержание, то в качестве элемента взять ToolStripControlHost.
Вообще, если честно, эти новомодные панели мелкомягких уж слишком тормозные и по сути их поведение не так-то сложно реализовать самому, да ещё и быстрее работать будет. |
01.06.2011, 23:28 | #3 | |
Пользователь
Регистрация: 01.06.2011
Сообщений: 53
|
Цитата:
А тормознутость - она практически незаметна, использую 2-й фреймворк, и на слабой тачке (полгига RAM и селерон 1,7) с загрузкой всего контента из БД - комфортная работа и никаких лагов или прочих неудобств. Если у кого-то есть какие-то ещё предложения - буду рад выслушать весь конструктив, но скорее всего подойдёт и предложенный вариант |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Рисование поверх картинки | rokotokobot | Мультимедиа в Delphi | 10 | 18.02.2012 20:28 |
Что нужно сделать, чтобы форма была поверх панели задач? | Andr | Общие вопросы Delphi | 11 | 25.02.2011 22:06 |
Скрытие flowLayoutPanel при щелчке вне элемента | Vistar | Общие вопросы .NET | 2 | 19.09.2010 23:39 |
Элемент поверх другого элемента | Krasi | JavaScript, Ajax | 5 | 31.07.2010 19:16 |
Как Форму показывать поверх панели Windows | chandrasecar | Win Api | 2 | 08.10.2008 19:37 |