如题!要求:
1 像在网页的label里面写一串字符,得到这个字符串的像素长度,
2 然后计算出这个串字符要在这个label里面一行显示需要设定的最大字体,
只完成第一步也可以,最好两都能够给出来
给出实现的方法和所需要饮用的参照和命名空间,我在网上找了好多都找不到他的命名空间的,下面是我在其他的地方找的,希望对大家有所帮助,业务紧急,请大家帮忙,就剩下95分了。------------------------------------------------------------------------------------
计算字符串的空间长度Graphics.MeasureString(转)
做一个画图表的系统,图表有标题框,标题框的大小是固定的,它不是Textbox,是通过函数画的一个矩形,可以在里面输入标题,我如何得知输入的字符串的空间长度,不是Length.例如,我的标题框的Width = 150, Heigth = 15 ,那有什么库函数可以计算输入的字符串的Width? 请大仙帮助小女子,谢谢
回复人:zswang(伴水清清)(专家门诊清洁工) ( ) 信誉:100 2007-6-14 10:08:35 得分:10 Graphics vGraphics = CreateGraphics();
SizeF vSizeF = vGraphics.MeasureString("Zswang", Font);
Console.WriteLine(vSizeF);
Top
回复人:bbyin(神六) ( ) 信誉:100 2007-6-14 10:15:26 得分:0 string cid = "abcdefg";
int len = cid.Length;
len就是字符串的长度
回复人:hbxtlhx(平民百姓-自已动手,丰衣足食) ( ) 信誉:112 2007-6-14 10:20:31 得分:10 可以使用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);
}
1 像在网页的label里面写一串字符,得到这个字符串的像素长度,
2 然后计算出这个串字符要在这个label里面一行显示需要设定的最大字体,
只完成第一步也可以,最好两都能够给出来
给出实现的方法和所需要饮用的参照和命名空间,我在网上找了好多都找不到他的命名空间的,下面是我在其他的地方找的,希望对大家有所帮助,业务紧急,请大家帮忙,就剩下95分了。------------------------------------------------------------------------------------
计算字符串的空间长度Graphics.MeasureString(转)
做一个画图表的系统,图表有标题框,标题框的大小是固定的,它不是Textbox,是通过函数画的一个矩形,可以在里面输入标题,我如何得知输入的字符串的空间长度,不是Length.例如,我的标题框的Width = 150, Heigth = 15 ,那有什么库函数可以计算输入的字符串的Width? 请大仙帮助小女子,谢谢
回复人:zswang(伴水清清)(专家门诊清洁工) ( ) 信誉:100 2007-6-14 10:08:35 得分:10 Graphics vGraphics = CreateGraphics();
SizeF vSizeF = vGraphics.MeasureString("Zswang", Font);
Console.WriteLine(vSizeF);
Top
回复人:bbyin(神六) ( ) 信誉:100 2007-6-14 10:15:26 得分:0 string cid = "abcdefg";
int len = cid.Length;
len就是字符串的长度
回复人:hbxtlhx(平民百姓-自已动手,丰衣足食) ( ) 信誉:112 2007-6-14 10:20:31 得分:10 可以使用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);
}
string s=this.textBox1.Text.Trim();
float w=0;
float h=0;
Graphics g=Graphics.FromHwnd(this.Handle);
Font myf=new Font("宋体",15);
StringFormat sf=new StringFormat(StringFormat.GenericTypographic);
SizeF size=g.MeasureString(s,myf,1000,sf);
MessageBox.Show(size.Height.ToString(),"高度");
MessageBox.Show(size.Width.ToString(),"宽度");
Graphics好象合适在windows中应用程序
再则如果只为输出文本而去画图是不是有点得不偿失
这个怕只能找个折中的办法了
根据正则表达式 判断是什么格式(汉字或英文)输入 然后大概定义一个字节的像素长度如果楼主朋友有更合适的解决 介绍介绍
[email protected]或Q283550893
感激不尽