我的GroupBoxes
之一的左侧有两个TabControls
,称为GroupBox A(左上角)和GroupBox B(左下角)。 GroupBoxes没有像我希望的那样调整大小。
示例: 当我使用鼠标调整TabControls的主窗体大小或最大化它,或将其移动到分辨率较低的屏幕时,GroupBox B保持其宽度/高度。这会导致GroupBox B绘制GroupBox A,类似于“始终在线”效果。
所需 希望两个GroupBoxes根据彼此/ proporitionly调整大小并适合他们给出的区域。
想法?
答案 0 :(得分:9)
tableLayoutPanel可以帮助解决这个问题。
此外,您可以向表中添加更多控件。如果需要控件跨越多行或列,请使用RowSpan / ColumnSpan属性。
答案 1 :(得分:2)
如果您的GroupBox位于另一个控件(如制表符或其他内容)中,请执行以下操作:
在我的情况下,我在选项卡中有一个GroupBox,我在InitializeComponent()
方法中调用了下面的方法来强制Groupbox调整为选项卡大小。
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.tabPage2.ResumeLayout(false);
this.tabPage2.PerformLayout();
如果您有多个GroupBox,则需要相应地设置锚定。
答案 2 :(得分:1)
我遇到了类似的问题,我刚刚为两个GroupBox使用了拆分容器,将拆分容器锚定在我的主窗体的顶部,底部,左侧和左侧,以及两个GroupBox也固定在顶部,底部,左侧和右侧他们的容器。
答案 3 :(得分:1)
原始问题略有偏离主题,但我的问题是我的Group Box的MaximumSize字段没有设置,或者太小,所以我无法调整高度!
答案 4 :(得分:1)
Altought问题已经很久了,有人可能仍觉得它很有用...... 我有同样的问题,找到了一个有效的解决方案 - >而不是更改GroupBox的宽度/高度,在Form的调整大小方法中更改其最小宽度/高度
编辑:修复拼写错误
private void Form1_Resize(object sender, EventArgs e) {
groupBox1.MinimumSize = new Size(this.Width /2, this.Height);
}