У меня есть пользовательский UserControl с функцией, которая обновляет AutoScrollMinSize при каждом изменении размера элемента управления. Для этого элемента управления установлено значение DockStyle.Fill внутри родительской формы с некоторыми другими элементами управления.
Моя проблема в том, что когда я минимизирую или увеличиваю форму контейнера, он отправляет два последовательных события изменения размера, и по какой-то причине мои полосы прокрутки исчезают.
Когда я изменяю размеры формы путем изменения границы формы, полосы прокрутки обновляются идеально каждый раз. Только когда я минимизирую или максимизирую, полосы прокрутки исчезают.
Я пытался подписаться на OnResize и OnSizeChanged по отдельности или вместе, и у меня возникла та же проблема. Я пытался установить AutoScrollMinSize только в том случае, если новое значение не равно текущему значению (в случае некоторого сбоя в настройке его дважды на одно и то же значение), но у меня все еще есть эта проблема.
Мои стили управления следующие:
this.SetStyle(ControlStyles.DoubleBuffer |
ControlStyles.AllPaintingInWmPaint |
ControlStyles.UserPaint |
ControlStyles.ResizeRedraw, true);
this.DoubleBuffered = true;
this.AutoScroll = true;