繁体   English   中英

C#如何通过数据绑定保留换行符?

[英]C# How do I preserve a newline through a databind?

我在接受Enter的WinForm上有一个文本框(多行)。 它与我创建的对象进行数据绑定。 当我输入时:

"hello
world"

我看到我的对象中的值是“ hello \\ r \\ nworld”,如预期的那样。 但是,当我离开对象并稍后再次与之重新绑定时,文本字段将“ helloworld”全部捆绑在一起。 当我再次查看该字段时,它是“ hello \\ nworld”。 \\ r被剥离了一些方法。

\\ r在数据绑定过程中去哪儿? 我该怎么做才能确保其持久性?

\\r\\n表示十六进制代码0xD 0xA ,并且(仅在Windows中)表示换行指令,我认为,当您将数据内容绑定到文本内容时, \\r\\n会转换为通用的\\n ,这就是为什么将其作为helloworld作为显示的文本来获取,并将hello\\rworld作为数据来获取,但是由于它仅由\\r Carriage Return指令而不是\\n Line Feed换行指令提供,因此不会作为新行处理。

我想你可以用

Environment.NewLine

解决您的问题。

("hello\r\nplagiarism world").Replace("\r\n", Environment.NewLine)

已编辑

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM