我在做一个画图表的系统,图表有标题框,标题框的大小是固定的,它不是Textbox,是通过函数画的一个矩形,可以在里面输入标题,我如何得知输入的字符串的空间长度,不是Length.例如,我的标题框的Width = 150, Heigth = 15 ,那有什么库函数可以计算输入的字符串的Width?  请大仙帮助小女子,谢谢

解决方案 »

  1.   

    Graphics vGraphics = CreateGraphics();
    SizeF vSizeF = vGraphics.MeasureString("Zswang", Font);
    Console.WriteLine(vSizeF);
      

  2.   

    string cid = "abcdefg";
    int len = cid.Length;
    len就是字符串的长度
      

  3.   

    可以使用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);
    }
      

  4.   

    嘿嘿,问题解决了,非常感谢zswang,MeasureString方法很好用,给你加分哦
    也很感谢hbxtlhx