Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2011, 22:40   #1
andrew_jr20
Пользователь
 
Регистрация: 01.06.2011
Сообщений: 53
По умолчанию flowlayoutpanel: помещение картинки/элемента поверх панели

Добрый день
Возникла следующая потребность: имеется flowlayoutpanel с динамически раполагаемыми на ней элементами label (у каждого контрола autosize=false). При наведении мыши на любой из элементов по событию MouseEnter высота соответствующего контрола увеличивается на 80 пикселей, отображая дополнительную информацию - нужно всё это для компактного отображения порядка сотни элементов на одном экране.
Теперь возникающие проблемы (связанные с особенностями flowlayoutpanel): при наведении мыши и увеличении высоты одного из лэйблов следующие ряды сдвигаются вниз, при убирании мыши и уменьшении высоты до стандартной - нижние ряды сдвигаются вверх, и при обыкновенном проведении мышью с угла экрана до, например, центрального label всё выглядит дико уродски, хаотические движения рядов вверх-вниз, куча пустого места между рядами при достижении цели... Всё из-за того, что flowlayoutpanel дейсвтует по аналогии с <table> в html и перекрытия элементов в принципе невозможны
Возникла следующая идея: элемент, высота которого должна увеличиваться, на самом деле не увеличивается, а поверх него просто отображается либо картинка, автоматически сгенерённая, либо новый label, который не принадлежит flowlayoutpanel и теоретически не должен вызывать смещения рядов. Но при появлении какого-либо элемента над flowlayoutpanel он теряется, и даже BringToFront() для элемента не срабатывает - он будто проваливается под панель... Как можно организовать требуемое? Что можно сделать с z-ордером в данном случае, чтобы новый элемент мог отображаться поверх панели? Или это нереально? Какие будут предложения?
Заранее спасибо!
andrew_jr20 вне форума Ответить с цитированием
Старый 01.06.2011, 23:04   #2
Spawn™Production®
Форумчанин
 
Аватар для Spawn™Production®
 
Регистрация: 06.05.2011
Сообщений: 287
По умолчанию

Отображать, например, ContextMenuStrip. Если требуется сложное содержание, то в качестве элемента взять ToolStripControlHost.

Вообще, если честно, эти новомодные панели мелкомягких уж слишком тормозные и по сути их поведение не так-то сложно реализовать самому, да ещё и быстрее работать будет.
Spawn™Production® вне форума Ответить с цитированием
Старый 01.06.2011, 23:28   #3
andrew_jr20
Пользователь
 
Регистрация: 01.06.2011
Сообщений: 53
По умолчанию

Цитата:
Сообщение от Spawn™Production® Посмотреть сообщение
Отображать, например, ContextMenuStrip. Если требуется сложное содержание, то в качестве элемента взять ToolStripControlHost.

Вообще, если честно, эти новомодные панели мелкомягких уж слишком тормозные и по сути их поведение не так-то сложно реализовать самому, да ещё и быстрее работать будет.
А это идея.. Спасибо, завтра надо будет попробовать
А тормознутость - она практически незаметна, использую 2-й фреймворк, и на слабой тачке (полгига RAM и селерон 1,7) с загрузкой всего контента из БД - комфортная работа и никаких лагов или прочих неудобств.

Если у кого-то есть какие-то ещё предложения - буду рад выслушать весь конструктив, но скорее всего подойдёт и предложенный вариант
andrew_jr20 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рисование поверх картинки 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