如何能够使得web窗体的label控件中显示的内容如果过长的话就自动换行
求高手指点啊!

解决方案 »

  1.   

    楼主对lable的宽度设一下值就可以搞定了..
      

  2.   

    label1.Text = "你好"+Environment.NewLine+"是这样吗?";
      

  3.   

    如果是中文的话.楼主就可以设一下宽度.然后就可以实现到了.
    但如果是字母的话.可能就是有点难度了.
    楼主可以根据自己的需要用SubString来对字符串的拆分.

    Str.Substring(0, 7) + "\n" + mymsg.Substring(7, (mymsg.Length - 7))
      

  4.   

    try:
    <asp:label id="lbl1" runat="server" style="width:30px;overflow:hidden;text-overflow:ellipsis;" />
      

  5.   

    添加下面的样式:
    style="word-break:break-all;"
      

  6.   

    先读去字符串的长度,根据一行多少个字,算出需要多少行,这样就可以设置label的长度和宽度.再把字符串切成几段,在每段后面加\n,就OK
      

  7.   

    BearRui(AK-47) 的方法,
    超过后是自动隐藏了啊
    我想的是自动换行啊!!
      

  8.   

    try:<asp:label id="lbl1" runat="server" style="word-wrap: break-word; word-break: break-all; width:50px;" />
      

  9.   

    注:在标准浏览器中label对应的span是行类元素,不支持自动换新,所以上面的方法可能只能在IE中才有效果。楼主可以使用div来代替label <div id="div1" runat="server" style="word-wrap: break-word; word-break: break-all; width:50px;">
    </div>
      

  10.   

    如果是只需要在Table里面一个Td中显示的话,直接用TD就可以阿,为什么要用到label呢,把Td设置Runat="server",再设一个id试试看在后台设置他的innerText
      

  11.   

    把label的AutoSize属性设置为false看看
      

  12.   

    楼主试用DIV<div id="div1" runat="server" style="word-wrap: break-word; word-break: break-all; width:50px;">
    </div>
      

  13.   

    貌似还是不行啊,用div
    我的数据是在后台cs文件里读出来的啊!
      

  14.   

    div也可以做服务器端控件,可以在cs中给它赋值
      

  15.   

    我知道啊。就是这么用了啊!
    this.div1.InnerText =
    但是显示出来的值还是不能自动换行,直接就有多长就撑多长啊!
      

  16.   

    你的div是放在什么里面的,换行是肯定可以换的,你可以直接把下面的代码copy到1个htm静态页面中看效果:<div id="div1" style="word-wrap: break-word; word-break: break-all; width:50px;">
    换行换行换行换行换行换行换行换行换行换行换行换行换行换行换行换行换行换行换行换行
    </div><br />
    <span id="div1" style="word-wrap: break-word; word-break: break-all; width:50px;">
    换行换行换行换行换行换行换行换行换行换行换行换行换行换行换行换行换行换行换行换行
    </span>
      

  17.   

    晕啊
    我就在aspx页面里面用
    <div id="div1" runat="server" style="WIDTH: 50px; HEIGHT: 14pxWORD-BREAK: break-all; HEIGHT: 32px; WORD-WRAP: break-word">换行换行换行换行换行换行换行换行换行换行换行换行换行换行换行换行换行换行换行换行</div>
    就是不换行!
    但是新建了一个html页面里面这么用就可以换行?
    是怎么回事啊?
      

  18.   

    WIDTH: 50px; HEIGHT: 14pxWORD-BREAK:写错了,14px后需要分号;
      

  19.   

    后台cs文件中加:
    Label1.Attributes.Add("style","word-break:break-all;word-wrap:break-word");
      

  20.   

    前台
    设置好Label1的宽度,
    后台cs文件中加:
    Label1.Attributes.Add("style","word-break:break-all;word-wrap:break-word");
      

  21.   

    晕!
    解决了。谢谢各位啊!
    原来我在label所在的<td>中放了个noWrap
    难怪,去掉后就没有问题了啊!
    哈哈,谢谢各位了,结帐结帐,散分散分!
      

  22.   


    其实你的问题还是没有根本解决的。这有一个bug问题。输入中文的时候,会自动换行,但是当输入的全部是英文或者数字的时候,还是不会自动换行的。根本的解决办法是,先将值存放在一个stringbuild变量里面,然后判断字符长度,超过多少字符就自动插入一个换行符,最后再将值赋给label。