日期:2014-05-17  浏览次数:22105 次

Graphics.DrawString所输出的字符串 有办法自动换行吗?
本帖最后由 wlhkane110 于 2014-01-20 10:50:35 编辑
假定drawString是我要输出的字符串,FontSize为字号,panel重绘函数如下 

private string drawString;
private int FontSize;
public void panel_Paint(object sender, PaintEventArgs e)
{
    Font drawFont = new Font("宋体", FontSize);
    SolidBrush drawBrush = new SolidBrush(Color.Black);
    Point drawPoint = new Point(0, 0);

    e.Graphics.DrawString(drawString, drawFont, drawBrush, drawPoint);

    /*
    假定文字以label来看待,它的Size为(x,y),panel1的Size为(X,Y),如果x>X的话想另起一行的话该
    怎么办呢?
    也就是说drawFont所绘制的字符串长度为多少时,它的size的x或接近等于panel的size。有没有方法快速
    得到呢?而不是用Graphics.MeasureString方法慢慢测量
    */
}

------解决方案--------------------
http://blog.163.com/gsrwsh@126/blog/static/75794506201061492755492/
------解决方案--------------------
http://blog.163.com/aiyun_hu/blog/static/2387137201331822456609/