Скрытие панелей на форме: как растянуть оставшиеся панели на свободное место #712192


#0 by Антиквар
Всем привет! Для простоты рассмотрим примитивный пример: на форме есть две панели: левая и правая, и между ними разделитель, чтобы пользователь мог менять ширину панелей. Требуется, чтобы левую панель можно было скрыть по кнопке, при этом чтобы правая панель растянулась на всю форму. Разделитель и правая панель привязаны к правой границе левой панели. Если убрать видимость левой панели, то естественно ничего не сдвинется, т.к. панель она останется на форме. Делаю так: Добавляю программную переустановку привязок: Тоже не помогает, ничего не растягивается. Что ещё нужно сделать? Или вообще, как правильно это реализовывается?
#1 by Антиквар
up
#2 by vasbur
по моему опыту - либо перетаскивание, либо скрытие. Одновременно и то и се у меня тоже не получалось настроить.
#3 by sirsp
Свертка: 1. Сбросить привязку левой панели; 2. Переустановить привязку разделителя к левой панели; 3. Свернуть левую панель; 4. Свернуть разделитель. Развертка: 1. Развернуть разделитель; 2. Развернуть левую панель; 3. Восстановить привязки.
#4 by Антиквар
Что-то не получается, может не так понял Вас. По свертке пункт 1, действительно нужно сбросить привязку левой панели, или может нужно сбросить привязку других элементов к левой панели?
#5 by sirsp
Значит начальные привязки кривые. Должно быть: Левая панель Левая сторона к форме, правая сторона к левой стороне разделителя. Разделитель Правая сторона к левой стороне разделителя. Правая панель Левая сторона к правой стороне разделителя, правая сторона к форме. + Сворачивать только влево. Да, достаточно сбросить правую привязку левой панели.
#6 by Антиквар
Проверил, мои привязки такие же. Вот только у разделителя непонятно к чему привязывать левую сторону. Я привязал к левой стороне левой панели. У Вас не написано куда надо. В остальном всё также. По нажатию кнопки левая панель с разделителем исчезают, а левая сторона правой панели еле заметно сдвигается влево, а надо чтобы на всю форму.
#7 by Антиквар
Вот код по нажатию кнопки:
#8 by sirsp
#9 by sirsp
1. Разделитель надо привязывать к _правой_ стороне левой панели. 2. Правую привязку трогать не нужно. Короче см. обработку. А что касается привязки левой стороны разделителя, то я ее никуда не привязывал. Но по желанию можно привязать куда угодно, но к форме!
#10 by Антиквар
Спасибо большое за обработку. Видимо в привязке разделителя у меня косяк. К правой стороне левой панели и мне казалось логичнее, но выдавало ошибку, что привязки установлены неверно. Ещё раз спасибо!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С