您可以尝试覆盖OnTextChanged事件,然后根据文本的大小更改宽度.
protected override OnTextChanged(EventArgs e)
{
using (Graphics g = CreateGraphics())
{
SizeF size = g.MeasureString(Text, Font);
Width = (int)Math.Ceiling(size.Width);
}
base.OnTextChanged(e);
}
Run Code Online (Sandbox Code Playgroud)