C#获取字符串的长度
1、使⽤g.MeasureString()获得
使⽤MeasureString测量出来的字符宽度,总是⽐实际宽度⼤⼀些,⽽且随着字符的长度增⼤,貌似实际宽度和测量宽度的差距也越来越⼤了。查了⼀下MSDN,到了下⾯这个理由:
⽅法旨在与个别字符串⼀起使⽤,它在字符串前后包括少量额外的空格供突出的标志符号使⽤。
string str;
str = "⼤";
Font f = new Font("SimSun", 7F, System.Drawing.FontStyle.Regular);
Graphics g = this.CreateGraphics();
//单位为mm
g.PageUnit = GraphicsUnit.Millimeter;
SizeF sim = g.MeasureString(str, f);
2、使⽤TextRenderer.MeasureText获得,提供使⽤指定尺⼨创建⽂本初始边框时,使⽤指定的设备上下⽂、字体和格式说明所绘制的指定⽂本的尺⼨(以像素为单位)。
private void MeasureText(PaintEventArgs e)
{
string str;
str = "⼤家好";
Font f = new Font("SimSun", 7F, System.Drawing.FontStyle.Regular);
Size sif = TextRenderer.MeasureText(e.Graphics, str, f, new Size(0, 0), TextFormatFlags.NoPadding);
c++求字符串长度MessageBox.Show((sif.Width / pdi).ToString());
}
private void print(object sender, PaintEventArgs e)
{
MeasureText(e);
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论