C#标签AutoSize添加填充

时间:2010-09-02 18:15:48

标签: c# winforms text label

我在Windows.Form上有一个Label。我将标签上的AutoSize属性设置为True,我注意到当我这样做时,它会用~5px的白色背景填充右侧。我将Padding属性设置为[0,0,0,0]。有没有办法摆脱这个?

我想让标签的边界尽可能接近标签内的文字。

2 个答案:

答案 0 :(得分:11)

当您仅使用填充和边距时,无法使用。这是默认行为。

alt text

在上面的Window中,我将PaddingMargin设置为[0,0,0,0]。那些5个像素仍在那里。

如果您设置FlatStyle = SystemAutoSize = False,则可以获得此信息:

alt text

在上面的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;
        }
    }

}