c#字符串太长如何换行

解决方案 »

  1.   

    逐个数长度,当Graphics.MeasureString(你字符串,Font...).Width > 长度时候,这里插入一个\r\n
      

  2.   

    StringBuilder
    显示使用"\n\r"
    Enviroment.NewLine
    System.Text.Encoding.Default.GetByteCount长度
    像素
    MeasureString 和MeasureCharacterRanges   
      

  3.   

                                                                  楼主意思可能是在编译器中写得太正常,像构造函数一样一行写几百个字符,换行时请记者不要随意换行,选择有逗号处换行,像public Abc(int month,int size,int age,string mingming,object a[] ,int connection)你说在哪里换行好的如果这样换行就不行,一定要是代码有意义换行!比如:public Abc(int month,
    int size,int age,
    string mingming,
    object a[] ,
    int connection)这样无论多少行,都行!推荐楼主看看《写最锐利的c#代码》这本书!
      

  4.   

    创建窗体,弄个按钮,用如下代码可以看到效果。仔细看,我不解释了。不明白的看msdnprivate void button9_Click(object sender, EventArgs e)
    {
        int max_width = 200;//假设宽度
        string s = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()+-*/";
        StringBuilder builder = new StringBuilder();
        using (Graphics g = this.CreateGraphics())
        {
            for (int i = 0, j = 0; i < s.Length; i++)
            {
                builder.Append(s[i]);
                if (g.MeasureString(s.Substring(j, i - j + 1), this.Font).Width >= max_width)
                {
                    builder.AppendLine();//超出,换行
                    j = i + 1;
                }
            }
            g.DrawString(builder.ToString(), this.Font, Brushes.Blue, new PointF(0, 0));
            g.DrawRectangle(Pens.Red, 0, 0, max_width, max_width);
        }
    }
      

  5.   

    string s="";
    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);  
    获取屏幕的宽度高度
      

  6.   

    我遇到同样问题,代码比如构造一个很长查询SQL语句,怎么换行 C++中在换行处打一个‘\’就可以了C#怎么处理呢?