我在Windows.Form上有一个Label。我将标签上的AutoSize属性设置为True,我注意到当我这样做时,它会用~5px的白色背景填充右侧。我将Padding属性设置为[0,0,0,0]。有没有办法摆脱这个?
我想让标签的边界尽可能接近标签内的文字。
答案 0 :(得分:11)
当您仅使用填充和边距时,无法使用。这是默认行为。
在上面的Window
中,我将Padding
和Margin
设置为[0,0,0,0]
。那些5个像素仍在那里。
如果您设置FlatStyle = System
和AutoSize = False
,则可以获得此信息:
在上面的Window
中,您不再拥有这5个像素。
答案 1 :(得分:1)
好的,所以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;
}
}
}