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