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 background. I have the Padding property set to [0, 0, 0, 0]. Is there a way to get rid of this?
I would like to get the bounds of the label as close as possible to the text within the label.
There's no way when you use only padding and margin. That's the default behavior.
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:
In the above Window
you don't have those 5 pixels anymore.
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;
}
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With