比如:
abcdefghij            //长度为10
史蒂夫合适的话的说法  //长度为10
我需要这两行是对齐的。

解决方案 »

  1.   

    比如:
    abcdefghij            //长度为10
    史蒂夫合适的话的说法  //长度为10
    我需要这两行是对齐的。英文后面不要是空的 。不能按长度 要按字节。
      

  2.   

    abcdefghij         //长度为10
    史蒂夫合适的话的说法  //长度为10
      

  3.   

    abcdefghij            //长度为10
    史蒂夫合适的话的说法  //长度为10
    对齐后是什么样的?
      

  4.   


    这样:
    abcdefghij史蒂  
    夫合适的话的说

    就是说两边对齐  可以是不一样的 字节应该可能相差1吧  我表达有些问题  简单来说就是  字符串按一定长度分段排列 两边对齐 分多少段不固定 最后一行不用对齐 
      

  5.   

    不能用控件控制吗?
    web用div
    winform用label  autosize=true设定宽度不就行了?
      

  6.   

    不行 我的是一个图片的 title 信息 所以。 web
      

  7.   

    你根据字符转码将中文1个汉字当做2个字符出来,英文当1个字符出来,算总数据长度,然后按照你的固定长度去判断你每行应该放几个中文字或者几个英文字符或者几个中英字符组合,如你自己举例中:
    abcdefghij            //长度为10
    史蒂夫合适的话的说法      //长度为1010+20=30,然后每行放15(如果中间是中文则+-1)个长度值,则变为abcdefghij史蒂
    夫合适的话的说法
      

  8.   


    //
    //len:字长度
    static string NewLineStr(string oldStr, int len)
    {
        StringBuilder strb = new StringBuilder();
        for (int i = 0, counter = 0; i < oldStr.Length; i++)
        {
            strb.Append(oldStr[i]);
            int charcode = (int)(oldStr[i]);
            counter += (charcode > 0x4E00 && charcode < 0x9FA5) ? 2 : 1;
            if (counter % (len << 1) == 0)
            {
                strb.Append(Environment.NewLine);
            }
        }
        return strb.ToString();
    }
      

  9.   

    判断那里有bug,换成
    if (counter >= len * 2)
    {
        strb.Append(Environment.NewLine);
        counter = 0;
    }
      

  10.   

    判断那里有bug,换成
    if (counter >= len * 2)
    {
        strb.Append(Environment.NewLine);
        counter = 0;
    }

    非常感谢,想要的基本就是这种效果 有点瑕疵就是 中英符号 中英文混合的时候换行会有错开两个字节位的感觉  看起来不是很工整,应该是显示问题吧,还有就是始终觉得效率有点担心,