C# Winforms使用状态栏自动调整窗体大小

C# Winforms使用状态栏自动调整窗体大小,c#,winforms,c#-4.0,C#,Winforms,C# 4.0,我正在创建一个windows窗体,该窗体的autosize设置为true,AutoSizeMode=growthandshrink 我在表单上粘贴了一个简单的控件,然后运行程序。表单正确调整大小以仅显示一个控件 然后我在表单的底部添加了一个条带(我从一个DevExpress条开始,但为了只使用本机控件,我在下面粘贴了一个statusStrip) 当我这次运行应用程序时,自动调整大小的表单与没有状态栏的表单大小完全相同,并且我添加的控件与状态栏重叠(我可以看到状态栏实际上仍然存在) 为什么会这样?

我正在创建一个windows窗体,该窗体的autosize设置为true,AutoSizeMode=growthandshrink

我在表单上粘贴了一个简单的控件,然后运行程序。表单正确调整大小以仅显示一个控件

然后我在表单的底部添加了一个条带(我从一个DevExpress条开始,但为了只使用本机控件,我在下面粘贴了一个statusStrip)

当我这次运行应用程序时,自动调整大小的表单与没有状态栏的表单大小完全相同,并且我添加的控件与状态栏重叠(我可以看到状态栏实际上仍然存在)


为什么会这样?这是故意的吗?我希望表单收缩会尊重这样一个事实,即表单底部的状态栏不应重叠。

当控件停靠时,自动调整大小不太好,等等。关闭StatusStrip上的DockStyle以查看自动调整大小的效果

参见Jared Par的博客

自动调整大小和DockStyle。填充不能很好地混合在一起。这两个属性都用于描述相对于控件其余部分的大小关系,但它们以相互冲突的方式进行描述


控件停靠时,自动调整大小的效果不太好。请关闭StatusStrip上的DockStyle以查看自动调整大小的效果

参见Jared Par的博客

自动调整大小和DockStyle。填充不能很好地混合在一起。这两个属性都用于描述相对于控件其余部分的大小关系,但它们以相互冲突的方式进行描述


我假设statusStrip设置为dock。因此,控件将根据表单大小自行停靠,而不是相反。

我假设statusStrip设置为停靠。正因为如此,控件将根据表单大小自行停靠,而不是相反。

我发现关闭dockStyle确实会使另一个控件不重叠。不幸的是,表单将不再像我期望的那样收缩。如果您希望StatusStrip保持在底部,那么您现在必须自己定位它。窗体将相应地调整大小。我看到关闭dockStyle确实会使其他控件不重叠。不幸的是,表单将不再像我期望的那样收缩。如果您希望StatusStrip保持在底部,那么您现在必须自己定位它。窗体将相应地调整大小。我看到关闭dockStyle确实会使其他控件不重叠。不幸的是,这不是一个真正的选项,因为表单将不再以我期望的方式收缩。我看到关闭dockStyle确实会使其他控件不重叠。不幸的是,这不是一个真正的选项,因为表单将不再像我期望的那样收缩。