Панель Flowlayout не отображает полосу прокрутки после некоторых изменений размера

У меня есть панель flowlayout и событие resize, я изменяю размеры всех элементов управления внутри панели flowlayout, чтобы они соответствовали ширине (flowlayoutpanel - padding - ширина полосы прокрутки). При некоторых размерах полоса прокрутки не отображается, скрывая большую часть элементов управления вне области панели flowlayout, а при других изменениях отображается полоса прокрутки. Я установил свойство AutoScroll на панели flowlayout равным true. Все это делается с использованием С#, но я также столкнулся с этой проблемой в VB.net.

Есть ли способ заставить flowlayoutpanal пересчитать, как элементы управления выкладываются после изменения размера элементов управления в событии изменения размера или каким-либо другим способом устранения этой проблемы?

2 ответа

Попробуйте метод .PerformLayout(), посмотрите, помогает ли это.


Используя метод Refresh (унаследованный от Control), вы можете заставить элемент управления аннулировать и перерисовать себя и своих детей.

Изменить: Любопытно, вы делаете это изменение размера, чтобы получить эффект укладки сверху вниз?

licensed under cc by-sa 3.0 with attribution.