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