跟小D每日学口语

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

posted @ 2012-05-16 18:01  Danny Chen  阅读(408)  评论(0编辑  收藏  举报