1

我有两个问题GroupBox,它们在设置GroupBox.AutoSizeMode = AutoSizeMode.GrowAndShrink和之后出现GroupBox.AutoSize = true

GrouBox 错误

  • GroupBox.Text宽度根本不考虑。大小将仅适合内容,然后如果不适合,文本将被换行。如果它不适合 - 它根本不显示。

  • GroupBox底部和Label内部之间有不必要的大间隙。

问题:

自动调整大小时如何GroupBox尊重其Text属性?以及如何消除这个差距?


由于某些原因,我之前的问题被搁置了。我应该删除它还是什么?

PS:如果您要搁置或其他什么,请评论我所问的到底是什么不清楚!

4

1 回答 1

0
/* 
Calculate the Text Width in pixels, then set the size for the GroupBox.
*/


groupBoxA.SuspendLayout();


SizeF stringSizeLabel;

using (System.Drawing.Graphics graphics = System.Drawing.Graphics.FromImage(new Bitmap(1, 1)))
{
    Font stringFont = new Font("Microsoft Sans Serif", 8.25F);
    stringSizeLabel = graphics.MeasureString("SAMPLE TEXT", stringFont);
}

int iWidth = (int)(stringSizeLabel.Width * 1.35f); // Give a little extra width
int iHeight = 78; // This is a sample value

groupBoxA.Size = new System.Drawing.Size(iWidth, iHeight);
groupBoxA.MinimumSize = new System.Drawing.Size(iWidth, iHeight);


groupBoxA.ResumeLayout(false);
groupBoxA.PerformLayout();
于 2017-09-21T21:48:57.343 回答