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);
    }
}