C# – 文本框换行问题

我有一个文本框,我正在尝试使用以下代码行打印到它:

logfiletextbox.Text = logfiletextbox.Text + "\n\n\n\n\n" + o + " copied to " + folderlabel2.Text; 

其中folderlabel 2显然是一个文本框。 我放入的第一件事是相同的文本框,因此不会删除任何文本。 过多的新行certificate了我的问题,因为文本框中没有新行(是的,设置为多行)。 “o”在FileInfo数组中的类型为FileInfo。

为什么这些新行不会出现在文本框中?

使用“\ r \ n”而不是“\ n”。 Windows文本框需要CRLF作为行终止符,而不仅仅是LF。

可能你可以使用Environment.NewLine – 但我不知道Mono TextBoxes在处理“\ n”方面做了什么(这是什么Environment.NewLine将在Linux机器上)。 如果你使用“\ r \ n”开始在最后开始添加额外的东西,那么这将破坏大量现有的应用程序 – 但如果它需要 “\ r \ n”,那将破坏使用Environment.NewLine应用程序。

Environment.NewLine是你正在运行的整个平台的默认新行 – 但是如果你使用的是一个小工具包可以做一件事,但是文本文件通常会做些什么呢? 坦白说,这有点乱。 如果有一个单独的TextBox.NewLine属性,不同的实现可以适当地处理它将是很好的。

我相信TextBoxes想要一个Environment.NewLine (应该是“\ r \ n”)

请注意,它必须是回车符(\ r)后跟新行(\ n)。 如果您颠倒订单,它将无法正常工作。

TextBox控件需要在换行符之前返回回车符(0x0D 0x0A)。 使用"\r\n"System.Environment.Newline

而不是使用\ n我们可以使用

Environment.NewLine

我希望它会有所帮助

这就是我为显示创建追加和新行的方法txtitems.Text = txtitems.Text + Environment.NewLine + dr [0] .ToString()+“”+ dr [1] .ToString();

任何使用VB.net的人都在寻找vbCr

这是一个例子:

返回“我的名字是”&vbCr&“John”&vbCr&“Doe”