Я использую vb.net 2017. Я хочу разместить несколько панелей и закрепить их, чтобы создать конфигурацию, как на прикрепленном изображении:
Таким образом, эти панели должны быть состыкованы и занимать всю форму. Я пробовал несколько режимов стыковки, также использовал «Отправить на задний план» / «Переместить на передний план», но я не могу делать то, что хочу.
Как мне это сделать?
TableLayoutPanels отлично подходят для такого рода вещей, вы пробовали использовать один из них? Они позволяют очень легко управлять макетом и соотношением изменения размеров ваших панелей, вам просто нужно использовать TableLayoutPanel для управления размером каждой области и оставить стиль док-станции всех дочерних элементов управления для заполнения
Поместите нижнюю панель первой, нижнюю часть стыковки. Поместите левую панель рядом, стыковка слева. Поместите правую панель в последнюю очередь, заполните док.
@LarsTech пробовал не работает,
"Не работает" не помогает. Мои инструкции были в пустой форме, и это действительно работает.
@LarsTech проблема в том, что у меня уже есть эти панели и другие элементы управления внутри них в существующей форме, и я хочу упорядочить их таким образом, не удаляя и не добавляя снова. Да, на новой пустой форме ваши инструкции работают.
Установите для трех панелей указанный мной стиль док-станции, затем поиграйте с методами BringToFront для панелей, пока не получите все правильно. Достаточно просто вынести левую пристыкованную панель вперед, чтобы она заработала. Или используйте меню «Вид» - «Другие окна» - «Структура документа», чтобы настроить z-порядок.
@Larstech Я пробовал, но левая панель заполняет левую часть формы до низа формы. Я пробовал Перенести на передний план для нижней панели, но не работает.
Я сказал вынести левую панель на передний план.
Порядок имеет большое значение. Сначала стыкуем снизу, потом налево, потом заливаем. Если заказ неправильный, он будет выглядеть иначе. Щелкните правой кнопкой мыши и переместите на передний план или отправьте на задний план, или просто удалите и повторите.
Начнем так: в пустой форме создайте панель и установите для ее свойства dock значение TopLeft, создайте еще одну панель и установите для ее свойства dock значение TopRight, затем измените размер панелей в соответствии с вашими потребностями и добавьте цвета.
Самый простой способ помочь с z-порядком - просмотреть структуру документа и переместить панели вверх / вниз в контейнере (в данном случае контейнер - это форма).
@Adriano - я использую комбинацию панелей макета таблицы и панелей для достижения такого эффекта.
Используйте окно Document Outline (находится в окне просмотра / других окнах), чтобы переместить панели в правильный Z-порядок. Это так просто.





Вот что я делаю: добавляю TableLayoutPanel в форму и устанавливаю Dock на Fill.
Затем я бы добавил к нему несколько строк и столбцов, чтобы я мог объединить их для получения результатов. Исходя из того, что я вижу, похоже, у вас должно получиться 5 столбцов по 20% и 4 строки по 25%.
Затем перетащите Panel в верхнюю левую ячейку TableLayoutPanel.
.
Установите его:
.Column = 0
.ColumnSpan = 2
.Row = 0
.RowSpan = 3
.Dock = Fill
Выполните эту процедуру и добавьте еще две панели. Один будет начинаться в строке 0, столбце 2, а другой - в строке 3, столбце 0.
Возможно, вам придется поиграть с числами, чтобы добиться желаемых результатов. Когда вы получите то, что хотите, вы можете установить поля всех панелей на 0.
Я использую цвета фона на всех панелях, чтобы видеть, как это выглядит при настройке.
См. эти заметки о закреплении панелей в контейнере.