我有一个自定义标签类,绘制的文本不适合。我在这里做错了什么?
class MyLabel: Label
{
public MyLabel()
{
SetStyle(ControlStyles.SupportsTransparentBackColor | ControlStyles.UserPaint, true);
}
protected override void OnPaint(PaintEventArgs e)
{
using (LinearGradientBrush brush = new LinearGradientBrush(ClientRectangle, Color.Black, Color.LightGray, LinearGradientMode.ForwardDiagonal))
e.Graphics.DrawString(Text, Font, brush, ClientRectangle);
}
}
如果我将 MyLabel 的文本设置为“123456790 123456790”(AutoSize = true),那么我在 Designer(或在运行时)中看到“1234567890 123456789”(没有最后一个零,但有一些空格)。如果我尝试“1234567890 1234567890 1234567890 1234567890”,那么将有“1234567890 1234567890 1234567890 12345678”(没有“90”,但还有一些空间)。