我有一个文本框,我正在尝试使用以下代码行打印到它:
logfiletextbox.Text = logfiletextbox.Text + "\n\n\n\n\n" + o + " copied to " + folderlabel2.Text;
其中folderlabel 2显然是一个文本框。我放入的第一件事是相同的文本框,因此不会删除任何文本。过多的新行证明了我的问题,因为文本框中没有新行(是的,设置为多行)。 “o”在FileInfo数组中是FileInfo类型。
为什么这些新行不会出现在文本框中?
答案 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;