MultiLine => true
首先,使用 TextBox 显示多行文本,需要把它的 Multiline 属性设置为 true,否则texBox空间的文本始终的单行的。
Text
在前端(用户)页面中,可编辑模式下,可以用 Enter 换行输入,编辑多行文本。
如果用代码给 textBox.Text
复制一段字符串,展示多行文本的如何实现?
我的第一想法是使用换行符\n
:
textBox1.Text = "line1 \nline2 \nline3 \nover";
结果却是这样:
查阅资料,了解了一下。在 Windows 系统上显示换行必须由两个字符组成:carriage return & line feed,也就是必须是"\r\n"。
就像这样:
textBox1.Text = "line1 \r\nline2 \r\nline3 \r\nover";
使用这种方式,虽说可以换行,但并不是良好的解决方式。因为 Linux 系统可能就不需要使用\r\n
,只用\n
即可,使用 rn 反而会出现问题,除此以外,concole 终端输出这一段字符串,也会出现问题。
有以下几种解决方式:
第一种 NewLine
使用System.Environment.NewLine。
将代码改成:
textBox0.Text = "Line1" + System.Environment.NewLine + "Line2" + System.Environment.NewLine + "Line3"+System.Environment.NewLine+"over";
可以实现换行输出
第二种 @
使用 @
运算符可以实现多行字符串。
textBox1.Text = @"line1
line2
line3
over";
效果一样的.
另外,如果使用 format 穿插变量,$
和 @
可以一起用
int num = 6;
string str = $@"字符串,数字是:{num}
second line.."
当然,为了提高可读性,保证源码排版的美观,使用 Newline 是一个很好的方式。
参考来源:
https://blog.csdn.net/lygapp/article/details/39372533