![]() |
Модераторы: gambit, Partizan |
![]() ![]() ![]() |
|
Nope |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 3.7.2006 Репутация: нет Всего: нет |
Есть форма, на ней находится контейнер, допустим Panel. Внутри Panel находится Listbox. В каждый момент времени Panel имеет заданный размер, Listbox в общем случае имеет размер больше, чем Panel. Следовательно, если размер Listbox больше, чем Panel, то Listbox целиком не отобразится. Вопрос: как это обойти? В результате хотелось бы, чтобы Listbox также как выпадающий список у Combobox, который отображается поверх всего.
|
|||
|
||||
amarenkov |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 21.2.2008 Где: Воронеж Репутация: нет Всего: нет |
Так может разместить Листбокс не на панели а над нею?
|
|||
|
||||
Nope |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 3.7.2006 Репутация: нет Всего: нет |
Нельзя. Есть на то свои условия, за рамки которых не выйти.
|
|||
|
||||
amarenkov |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 21.2.2008 Где: Воронеж Репутация: нет Всего: нет |
Скорее всего ты этого не обойдешь в рамках поставленной задачи. При отрисовке компонент контейнер обрезает (или создает свою) область, в которую дочерние компоненты могут себя рисовать. Выйти за эту область не получится.
Что-то я себе не очень представляю, каким образом может понадобиться, чтобы компонент внутри конейнера был больше контейнера. Обычно в контейнер для того и засовывают, чтобы ограничить или сгруппировать компоненты. |
|||
|
||||
Nope |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 3.7.2006 Репутация: нет Всего: нет |
Как оно себя ведет понятно. Но ведь комбобокс как то реализует данную задачу, возможно ее можно повторить. По крайней мере msdn явно не говорит об обратном.
Поверь на слово, есть необходимость, чтобы элемент, находясь внутри контейнера, имел возможность выйти за пределы "допустимых границ". Хоть это и звучит немного необычно. |
|||
|
||||
amarenkov |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 21.2.2008 Где: Воронеж Репутация: нет Всего: нет |
Комбобокс (также, как и хинт и подобные вещи) создают дополнительные дочерние окна. Которые поверх и висят. Можешь попробовать так сделать.
|
|||
|
||||
ZneP |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 15.7.2008 Где: Россия, Москва Репутация: нет Всего: нет |
Можешь менять родителя листбокса.
Я так понимаю, ты хочешь, чтобы при нажатии на Panel (или на листбокс в этой панели) листбокс отображался целиком? |
|||
|
||||
Nope |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 3.7.2006 Репутация: нет Всего: нет |
грубо говоря нужно, чтобы при получении панели фокуса листбокс отображался целиком. Но в общем случае, элементы находящиеся вне панели мне неизвестны.
|
|||
|
||||
amarenkov |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 21.2.2008 Где: Воронеж Репутация: нет Всего: нет |
А если форма маленькая, то и за форму оно должно мочь вылазить ?
|
|||
|
||||
Nope |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 3.7.2006 Репутация: нет Всего: нет |
amarenkov, в это случае поведение должно быть стандартным.
|
|||
|
||||
amarenkov |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 21.2.2008 Где: Воронеж Репутация: нет Всего: нет |
Nope, тогда может тебе и впрямь, на событие Фокус искать самый корневой контейнер компонента и быстренько его выдергивать на него, делая поверх всех компонент. На событие ухода фокуса возвращать его обратно, на его место?
|
|||
|
||||
Compositum |
|
|||
![]() Senior developer ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 430 Регистрация: 6.1.2008 Где: Санкт-Петербург Репутация: нет Всего: 1 |
а почему не прибиндить свойство ширины листбокса к ширине панели? или же закинуть обработку события изменения ширины панели: меняется ширина панели - автоматом меняется ширина листбокса. я делал нечто подобное - все нормально работало. |
|||
|
||||
amarenkov |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 21.2.2008 Где: Воронеж Репутация: нет Всего: нет |
Compositum, надо что бы размер листбокса был независим от панели. И он может быть больше. Я так понял.
|
|||
|
||||
Nope |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 3.7.2006 Репутация: нет Всего: нет |
Проблему решил созданием дочернего окна, в которое положил листбокс.
amarenkov, спасибо за подсказку. |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |