C# - 文本框换行问题

时间:2010-07-08 20:25:43

标签: c#

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

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

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

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

6 个答案:

答案 0 :(得分:41)

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

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

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

答案 1 :(得分:3)

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

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

答案 2 :(得分:2)

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

答案 3 :(得分:2)

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

<强> Environment.NewLine

我希望它会有所帮助

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

以下是一个例子:

返回&#34;我的名字是&#34; &安培; vbCr&amp; &#34;约翰&#34; &安培; vbCr&amp; &#34; Doe的&#34;