我从数据库中获取数据并在标签上显示该数据。我必须在每35个字符的标签文本上应用新行。因为在35个字符之后文本溢出。
请告诉我怎么做。
答案 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