1、矩形框大小是固定的,但是在矩形框中显示的文本长度是不确定的,如果固定一个字体大小,当文本过长时,会出现文本显示不全的问题。我不知道c#中是否有方法可以根据矩形框的大小自动调整文本字体的大小?
2、如果1中没有这样的方法,我想根据矩形框的大小来计算要显示的文本的字体大小,应该怎么写?
   请各位老师教我。

解决方案 »

  1.   

    求支持啊     ding 
      

  2.   

    1和2方法都可以,给你第1个方法的代码吧
     RectangleF rc = new RectangleF(0, 0, 100, 50);//在大小为100*50的矩形内写文字            string str = "矩形框内的文字,可能有很多,但是矩形很小,怎么办了呢,改变字体大小吧";            Graphics g = this.CreateGraphics();
                Font font = this.Font;
                while (g.MeasureString(str, font, (int)rc.Width).Height > rc.Height) //计算合适的字体大小
                    font = new Font(this.Font.Name, (float)(font.Size - 1));            StringFormat format = new StringFormat();
                format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;
                g.DrawString(str, font, new SolidBrush(Color.Black),rc, format); ;
                g.Dispose();