我有一个文本文件,当我在记事本中打开它时,会显示换页符(字节 12)。我想在我的richtextbox 中显示这个字符,但无论我在阅读文本文件时使用哪种编码,它都不会显示。当我自己输入角色时,它会显示。当我这样做myRTB.Text = "♀"
时,它会显示,但是当我这样做时
myRTB.Text = File.ReadAllText(myFileName.txt);
它没有显示。我也尝试在 Encoding 类中使用阅读器,但无济于事。
如何在我的 rtb 中显示换页符?
我有一个文本文件,当我在记事本中打开它时,会显示换页符(字节 12)。我想在我的richtextbox 中显示这个字符,但无论我在阅读文本文件时使用哪种编码,它都不会显示。当我自己输入角色时,它会显示。当我这样做myRTB.Text = "♀"
时,它会显示,但是当我这样做时
myRTB.Text = File.ReadAllText(myFileName.txt);
它没有显示。我也尝试在 Encoding 类中使用阅读器,但无济于事。
如何在我的 rtb 中显示换页符?
尝试ReadAllText
myRTB.Text = File.ReadAllText(myFileName.txt, Encoding.Unicode);
首先,换行符的值为 13。如果其中有值为 12 的字符,则它们不是换行符。
至于您的问题,ReadAllLines
将文件的行读入String
数组,从而去除所有换行符。您可以按照 Damith 的建议和 call 执行操作ReadAllText
,它将文件内容作为单个 读取String
,并将结果分配给Text
属性,或者调用ReadAllLines
并将结果分配给Lines
属性。最好调用LoadFile
它RichTextBox
本身。
感谢@jmcilhinney 和@Damith 的帮助。我最终通过做肮脏的事情来欺骗系统。我看到 myRTB 正在用\page
RTF 中的换页符替换换页符,但是当我自己键入换页符时,它放了\u9792
. 因此我选择了hack:
myRTB.Rtf = myRTB.Rtf.Replace("\\page", "\\u9792");
如果您有一些不那么骇人听闻的东西,我可以开始工作,请告诉我。