在标签上添加新行

时间:2010-03-02 19:15:10

标签: c# .net asp.net .net-3.5

我从数据库中获取数据并在标签上显示该数据。我必须在每35个字符的标签文本上应用新行。因为在35个字符之后文本溢出。

请告诉我怎么做。

6 个答案:

答案 0 :(得分:4)

只需更改标签的样式即可包装文字:

style=" width:50px; overflow-y:auto;overflow-x:auto; word-break:break-all;"

更好的是,将它放在CSS文件中,而不是直接放在控件上。

如果你不喜欢这个,另一个选择是使用文本框并将其设置为标签样式,如this post中所述。

答案 1 :(得分:1)

没有办法做到这一点,你最好创建更多的标签。您可以添加<br/>,但asp.net会对其进行筛选。考虑将单个标签放在具有固定宽度的div中,文本应自动转到新行。

答案 2 :(得分:1)

快速伪代码

string s = 'value from db';
string s2 = "";
int len = s.Length;
int i = 0;
while ( i + 35 > len ) {
  s2 += s.Substring( i, 35 ) + "\r\n";
  i+=35;
}
s2 += s.Substring( i, len - i );
label.Text = s2;

如果\ r \ n不起作用,请将其替换为&lt; br&gt;

答案 3 :(得分:0)

//assuming l is a label
for (int i = 0; i < l.Text.Length; i++)
{
  if (i % 35 == 0)
    l.Text.Insert(i, Environment.NewLine) // or use "<br />" for html break since browsers ignore whitespace (except IE 6 in some cases)
}

答案 4 :(得分:0)

在“属性”窗口中,您可以更改标签的“宽度”和“高度”。您应该根据窗口的大小设置标签大小,标签类型的大小必须是像素。

答案 5 :(得分:-1)

use Environment.NewLine