У меня есть панель формы со свойством AutoScroll панели, установленным на True.
На этой панели я разместил несколько элементов управления GroupBox, которые занимают больше места, чем панель - таким образом, на панели появляется вертикальная полоса прокрутки.
При необходимости одна из панелей может изменять высоту во время выполнения (я программно устанавливаю ее высоту в зависимости от количества текста, который она содержит):
groupBox1.Height = label1.Height + label1.Top + 10;
Это нормально работает, если панель увеличивается в высоту - групповые поля под ней «перемещаются вниз». Однако, если панель уменьшается по высоте, расположенные ниже GroupBox не «перемещаются вверх».
Я знаю, что могу программно перемещать элементы управления групповым ящиком, расположенные ниже, вверх, но я думаю, что должен быть лучший / менее суетливый способ сделать это, чем этот ...