C# label AutoSize adds padding

前端 未结 2 1850
北荒
北荒 2021-01-18 05:51

I have a Label on a Windows.Form. I set the AutoSize property on the label to True and I noticed that when I do that, it pads the right hand side with ~5px of white backgrou

相关标签:
2条回答
  • 2021-01-18 06:04

    Ok, so FlastStyle = System; AutoSize = false; and then set up a property that will calculate the width like this:

    public string LabelText
    {
        set
        {
            _label.Text = value;
            using (Graphics g = CreateGraphics()) {
                _label.Width = (int)g.MeasureString(_label.Text, _label.Font).Width;
            }
        }
    

    }

    0 讨论(0)
  • 2021-01-18 06:12

    There's no way when you use only padding and margin. That's the default behavior.

    alt text

    In the above Window I've set the Padding and Margin to [0,0,0,0]. Those 5 pixels are still there.

    If you set FlatStyle = System and AutoSize = False you can get this:

    alt text

    In the above Window you don't have those 5 pixels anymore.

    0 讨论(0)
提交回复
热议问题