TextRenderer.MeasureText计算字符串文本所占的尺寸

来源:互联网 发布:网络广告费用计算 编辑:程序博客网 时间:2024/04/27 21:33

TextRenderer.MeasureText是Winform中用于计算文本尺寸的一个很好用的方法,WPF中也可以使用。用法如下:
Font f = new Font(“SimSun”, 9F, System.Drawing.FontStyle.Regular);
System.Drawing.Size aSize = System.Windows.Forms.TextRenderer.MeasureText(aStrType, f);
在昨天发表的博文例子中我就用到了这个方法,今天做项目时有用到了这个,受益匪浅,故和大家分享一下。
我的程序中有一个TextBlock tb1,使用了Trimming.CharacterEllipsis将超出的控件尺寸字符串不显示。但现在需要判断tb1中文本到底有没有显示完全,于是TextRenderer.MeasureText便派上用场了。代码如下:

       <span style="font-family:Microsoft YaHei;"> <span style="font-size:12px;">Font f = new Font(tb1.FontFamily.FamilyNames.ToString(),9F, System.Drawing.FontStyle.Regular);            System.Drawing.Size aSize = System.Windows.Forms.TextRenderer.MeasureText(aContect, f);            if (aSize.Width > (int)tb1.RenderSize.Width * ((int)(tb1.RenderSize.Height / aSize.Height)))   //tb1.RenderSize.Height / aSize.Height计算行数            {              ……            }            else            {              ……            }</span></span>
0 0