C#Winforms:GroupBox没有调整大小

时间:2013-08-23 21:56:45

标签: winforms c#-4.0 groupbox

我的GroupBoxes之一的左侧有两个TabControls,称为GroupBox A(左上角)和GroupBox B(左下角)。 GroupBoxes没有像我希望的那样调整大小。

示例: 当我使用鼠标调整TabControls的主窗体大小或最大化它,或将其移动到分辨率较低的屏幕时,GroupBox B保持其宽度/高度。这会导致GroupBox B绘制GroupBox A,类似于“始终在线”效果。

所需 希望两个GroupBoxes根据彼此/ proporitionly调整大小并适合他们给出的区域。

想法?

5 个答案:

答案 0 :(得分:9)

tableLayoutPanel可以帮助解决这个问题。

  1. 添加tableLayoutPanel并根据您的需要调整大小。
  2. 将桌子固定在顶部,底部,左侧和右侧
  3. 将GroupBoxA放入表格的左上角单元格
  4. 将GroupBoxB放入表格右下角的单元格
  5. 因为两个GroupBox都相应地调整它们并将它们固定到所有4个边。
  6. 现在,他们将与应用程序成比例地增长和缩小。
  7. 此外,您可以向表中添加更多控件。如果需要控件跨越多行或列,请使用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);
    }