Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 表单上的AutoScrollMinize故障最小化/最大化_C#_Minimize_Autoscroll_Maximize - Fatal编程技术网

C# 表单上的AutoScrollMinize故障最小化/最大化

C# 表单上的AutoScrollMinize故障最小化/最大化,c#,minimize,autoscroll,maximize,C#,Minimize,Autoscroll,Maximize,我有一个自定义UserControl,它有一个函数,每次调整控件大小时都会更新AutoScrollMinSize。此控件设置为DockStyle。请在父窗体内使用其他控件填充 我的问题是,当我最小化或最大化容器窗体时,它会发送两个连续的调整大小事件,出于某种原因,我的滚动条会消失 当我通过调整窗体边框的大小来调整窗体的大小时,滚动条每次都会完全更新。只有当我最小化或最大化滚动条时,滚动条才会消失 我尝试过分别或同时订阅OnResize和OnSizeChanged,但都遇到了相同的问题。我只尝试在

我有一个自定义UserControl,它有一个函数,每次调整控件大小时都会更新AutoScrollMinSize。此控件设置为DockStyle。请在父窗体内使用其他控件填充

我的问题是,当我最小化或最大化容器窗体时,它会发送两个连续的调整大小事件,出于某种原因,我的滚动条会消失

当我通过调整窗体边框的大小来调整窗体的大小时,滚动条每次都会完全更新。只有当我最小化或最大化滚动条时,滚动条才会消失

我尝试过分别或同时订阅OnResize和OnSizeChanged,但都遇到了相同的问题。我只尝试在新值不等于当前值时设置AutoScrollMinSize(以防将其设置为相同值两次时出现故障),但我仍然存在此问题

我的控件样式如下所示:

this.SetStyle(ControlStyles.DoubleBuffer |
              ControlStyles.AllPaintingInWmPaint |
              ControlStyles.UserPaint |
              ControlStyles.ResizeRedraw, true);

this.DoubleBuffered = true;
this.AutoScroll = true;

这不是一个完美的解决方案,但我发现在设置AutoScrollMinSize后调用PerformLayout()会强制显示滚动条

AutoScrollMinSize = newSize;
PerformLayout();
Invalidate();