Поздний ответ, но я недавно боролся со сложным макетом и искал решение, чтобы моя прокрутка работала на экране со слишком большим количеством полей.Честно говоря, лучший дизайн должен избегать этой проблемы в 99% случаев, но иногда ваши руки просто связаны.
Проблема
Проблема заключается в том, что если вы 'слишком глубоко вложенные в несколько сеток, групп и панелей, они перестают правильно сообщать родительским элементам управления о том, что их содержимое превысило размер текущего экрана.На самом деле проблема, вероятно, заключается в том, что все элементы управления настроены на заливку дока и do вписываются в родительский элемент управления, поэтому элемент управления верхнего уровня не знает, что содержимое его пра-пра-пра-праэлементы управления Grandchild не подходят.
Решение
Уловка, чтобы исправить это, кажется, вручную заставляет верхнюю панель прокручиваться до определенного минимального размера:
MainPanel.AutoSize = true;
MainPanel.AutoScrollMinSize = new Size(400, 500);