Label,请不要给我折行

下面的代码只是在处理折行,可以再加入控制该机能的属性,以及保留原值的属性,这样就可以达到比较完美的自定义控件了。

public partial class MyLabel : Label
{
public MyLabel()
{
InitializeComponent();
}

protected override void OnPaint(PaintEventArgs e)
{
SizeF thisSize = e.Graphics.MeasureString(this.Text, this.Font);

if (thisSize.Width > this.Width)
{
string text = this.Text;

while (thisSize.Width > this.Width)
{
text = text.Substring(0, text.Length - 1);
thisSize = e.Graphics.MeasureString(text, this.Font);
}

this.Text = text;
}

base.OnPaint(e);
}
}

原文地址:https://www.cnblogs.com/zhangchenliang/p/2504429.html