新手急救:请问有什么类函数可以计算字符串的空间长度,请大仙帮助小女子 我在做一个画图表的系统,图表有标题框,标题框的大小是固定的,它不是Textbox,是通过函数画的一个矩形,可以在里面输入标题,我如何得知输入的字符串的空间长度,不是Length.例如,我的标题框的Width = 150, Heigth = 15 ,那有什么库函数可以计算输入的字符串的Width? 请大仙帮助小女子,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Graphics vGraphics = CreateGraphics();SizeF vSizeF = vGraphics.MeasureString("Zswang", Font);Console.WriteLine(vSizeF); string cid = "abcdefg";int len = cid.Length;len就是字符串的长度 可以使用TextRenderer.MeasureText以更精确的测量,代码参考如下:protected override void OnPaint(PaintEventArgs e){ base.OnPaint(e); string str = "测试用的字符串"; StringFormat format = new StringFormat(); format.Alignment = StringAlignment.Center; format.LineAlignment = StringAlignment.Center; Size size = TextRenderer.MeasureText(str, this.Font); Rectangle rect = new Rectangle(20, 20, size.Width, size.Height); TextRenderer.DrawText(e.Graphics, str, this.Font, rect, Color.Blue, Color.Yellow); e.Graphics.DrawRectangle(SystemPens.ControlDarkDark, rect);} 嘿嘿,问题解决了,非常感谢zswang,MeasureString方法很好用,给你加分哦也很感谢hbxtlhx c# API 获得窗体的内容 如何实现字符串之间,没两个字符串间有一个空格 C#sql查询数据。 如何清空某个控件的某个事件? 基础连接已经关闭 连接被意外关闭 有能解决的吗? 批量添加数据5个form一起提交的问题 C#修改数据库的问题 查看本机VS2008是否是正式版? ASP.ENT问题 winform 在textbox里面输入数据是,隔1秒没有输入就执行代码 关于main()函数的返回值(throw exception的情况)在线等,急 关于数据库分页的搜索条件问题????
SizeF vSizeF = vGraphics.MeasureString("Zswang", Font);
Console.WriteLine(vSizeF);
int len = cid.Length;
len就是字符串的长度
{
base.OnPaint(e); string str = "测试用的字符串";
StringFormat format = new StringFormat();
format.Alignment = StringAlignment.Center;
format.LineAlignment = StringAlignment.Center;
Size size = TextRenderer.MeasureText(str, this.Font);
Rectangle rect = new Rectangle(20, 20, size.Width, size.Height);
TextRenderer.DrawText(e.Graphics, str, this.Font, rect, Color.Blue, Color.Yellow);
e.Graphics.DrawRectangle(SystemPens.ControlDarkDark, rect);
}
也很感谢hbxtlhx