C#标签AutoSize添加填充
我在Windows.Form上有一个Label。 我将标签上的AutoSize属性设置为True,我注意到当我这样做时,它会用~5px的白色背景填充右侧。 我将Padding属性设置为[0,0,0,0]。 有没有办法摆脱这个?
我想让标签的边界尽可能接近标签内的文字。
当你只使用填充和边距时,没有办法。 这是默认行为。
在上面的Window
我将Padding
和Margin
设置为[0,0,0,0]
。 那5个像素仍在那里。
如果你设置FlatStyle = System
和AutoSize = False
你可以得到:
在上面的Window
您不再拥有这5个像素。
好的,所以FlastStyle = System; AutoSize = false; 然后设置一个将计算宽度的属性,如下所示:
public string LabelText { set { _label.Text = value; using (Graphics g = CreateGraphics()) { _label.Width = (int)g.MeasureString(_label.Text, _label.Font).Width; } }
}