1.FlowLayoutPanel
尝试使用FlowLayoutPanel实现布局的自适应,但是暂未达到理想的效果。布局设置:在SplitContainer的分页中放置了FlowLayoutPanel,在流式布局面板中又放置了纵向排列的GroupBox。GroupBox设置了Anchor-Right,但是在最大化窗体后,只有流式布局面板跟随窗体的变大宽度增大了,但是GroupBox的宽度没有发生变化。多番尝试无果,随暂遂弃之。
2.SplitContainer中直接放置GroupBox
在SplitContainer中直接放置GroupBox通过一些属性设置来实现布局,暂时达到效果。
布局设置:直接在SplitContainer中放置了纵向排列的GroupBox,Anchor属性设置为:
注意:如果还设置了Anchor-bottom,则会产生GroupBox之间相互覆盖的效果,这是由于Anchor的Bottom属性使得GroupBox还得在窗体最大化后与父容器的底部保持相同的距离,这样就会使得窗体最大化后GroupBox的宽度随之变大,从而互相覆盖。
在实现了窗体最大化GroupBox的宽度随之改变的效果后,还存在一个问题:窗体Footer部分的消息列表盒子与上部分的设置面板之间会存在一个空白,不甚美观。由于设置面板何消息列表盒子分属于窗体上最高一级的SplitContainer的连个Panel中,在这里对这个Container的FixedPanel属性设置为Panel1(也就是窗体中部的设置面板部分),这样在窗体最大化的时候Panel1的大小就会固定不变,Panel2(也就是窗体Footer部分的消息盒子)的宽度就会随之变大。如此,在窗体最大化的时候就不会出现窗体这两个部分之间出现空白。