C# TextBox换行 自动显示至最后行
用于学习记录
原文载自: https://www.cnblogs.com/lyl6796910/archive/2012/06/01/2530616.html
(一)C# TextBox换行
Windows Form的TextBox显示多行文本就将它的Multiline属性设置为true。
C# TextBox换行运行在Windows上,Windows能够显示的换行必须由两个字符组成:carriage return & line feed,也就是必须是"\r\n";
1. aTextBox.Text = "First Line\r\nSecond Line\r\nThird Line";
Linux/Unix等其他的操作系统换行时用"\n"的字符串
为了要确保让换行效果在各种平台上都能够正常的显示,请用Environment.NewLine。
它可以确保在不同的平台下都能够返回正确的换行字符,在Windows下是\r\n,在Linux(Mono)下就应该是\n了。 所以上面的代码应该写成:
- aTextBox.Text = "First Line" +
- Environment.NewLine + "Second Line" +
- Environment.NewLine + "Third Line";
另外C# TextBox换行你也可以用verbatim string literal(用@开始的字符串)的形式来输入换行符:
- aTextBox.Text = @"First Line
- Second Line
- Third Line";
这种形式在代码中看起来很直观,但是如果代码编辑器是在Windows下运行的,仍然相当于输入了\r\n。Environment是一个静态类,位于System名称空间下,提供对当前程序的运行环境和平台的相关信息的访问。它提供了很多有用的静态属性和方法。
(二)多行TextBox中用滚动条,怎么使添加文本后自动滚动显示到最后一行?
方法是使用ScrollToCaret方法,自动滚动到插入符的位置,如:
textBox.AppendText(Label); //添加文本
textBox.ScrollToCaret(); //自动显示至最后行
注:上面两条语句必须一起使用,如果使用:
textBox.Text += "Label"; //添加文本
textBox.ScrollToCaret(); //自动显示至最后行
是不能达到滚动到最后一行的效果的。