有一段文字要显示在页面的label控件上,label已经设置了宽度,如何在显示文字时,让其达到宽度时,即自动换行?

解决方案 »

  1.   

    既然label的宽度是固定的,那每行正常显示多少个字也应该是固定的了,如N,可以把你要显示的文字按N来分割然后插入换行符显示。
    不过这样的需求还不如用TextBox然后设定multiline并设定其样式为类似Label的方式来实现。
      

  2.   

    先每N个字符插入一个<BR>再赋值给Label.
      

  3.   

    string str="fsdfsdfsdfsdfsdfsdf";
    if(str.Length>8)
    {
      
       Label1.Text=str.SubString(0,8)+"<br>"+str.SubString(8,str.Length-8);
    }
      

  4.   

    aspdotnet2005,SubString是怎么定义的啊?
      

  5.   

    SubString(0,8)
    取到8个字
    Label1.Text=str.SubString(0,8)+"<br>"+str.SubString(8,str.Length-8);
    ------------------------------------------------------------------
    超过8个字然后换行嘛
    不过我觉得好像Label到达宽度之后会自动换行的啊,
    楼主你没试过??
      

  6.   

    刚写了一段代码,在VS.NET2003下测试通过,
    以5个字符换行为例,其中stra是传入的字符串用来做Label的显示文字的,123456789012345678是测试数据:
    string stra="123456789012345678";
    int intlength=stra.Length;
    int intcount=intlength/5;
    Label1.Text="";
    for(int i=0;i<intcount;i++)
    {
    string strb="";
    strb =stra.Substring(5*i,5)+"<br>";
    //Response.Write(strb);
    Label1.Text+=strb.ToString();

    }
    Label1.Text+=stra.Substring(5*intcount,stra.Length-5*intcount);
      

  7.   

    先接收传过来要Label显示的字符串,求其长度和行数,然后通过一个小循环不停累加非最后一行的值,然后再把最后一行的在循环结束后加上去。
    其中Label1.Text+=strb.ToString();也可以换成变量存,比属性重写更快且省资源。
    有其他问题给我发消息。
      

  8.   

    strb =stra.Substring(5*i,5)+"<br>";i>=1的时候怎么回事?
      

  9.   

    strb =stra.Substring(5*i,5)+"<br>";i>=1的时候怎么回事?
    ----------------------------------------
    i>=1的时候按照5的倍数(此例以每行5个字为例)开始分离插入换行符啊!
      

  10.   

    有必要那么麻烦吗??label 可以自动换行
    遇到字母或者数字时 加style="WORD-WRAP: break-word"
      

  11.   

    1\把label外的哪个<td style="word-break:break-all;">2\
    string temp1;
    int j = 0;
    temp1 = "sdfewrfqwfevsdfgrtgw45hsegw45gdgsdfgsdfgsdfgsdfgsdfgsrege";
    for (int i = 1;i<temp1.Length;i++)
    {
        if ((i-4*j) % 10 ==0) 
        {
     temp1 = temp1.Insert(i,"<br>");
    j ++;
    i = i+4;
    }
    label.Text = temp1;
    }