我有一个Windows.Form上的标签。我将AutoSize属性设置为True,发现这样做会在右侧填充约5像素的白色背景。我已经将Padding属性设置为[0, 0, 0, 0]。有没有办法消除这个问题?
我想尽可能地让标签的边界紧贴标签中的文本。
如果只使用padding和margin是无法完全去除默认行为的。
在上图中,我将Padding
和Margin
都设置为[0,0,0,0]
。那5个像素还在。
如果你设置FlatStyle = System
和AutoSize = False
,就可以得到下面这个效果:
在上图中,你就不会再有那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;
}
}
}