在将文本添加到RichTextBox中的RTF属性之前,我会对文本进行一些处理,添加转义字符,然后将数据划分为多行。
文字是
第1行\ n \ u001aline2 \ n \ u001aline3 \ n \ u001aline4
当我将VS 2015与.Net 4.6.2一起使用时,RTF属性中的值为
{\\rtf1\\fbidis\\ansi\\deff0{\\fonttbl{\\f0\\fnil\\fcharset0
Arial;}}\r\n\\viewkind4\\uc1\\pard\\ltrpar\\lang3073\\fs24 Line1
\\par\r\n\\v\\'1a\\v0 Line2
\\par\r\n\\v\\'1a\\v0 Line3
\\par\r\n\\v\\'1a\\v0 Line4\\par\r\n}\r\n
Run Code Online (Sandbox Code Playgroud)
但是当我使用.Net 4.7.1切换到VS 2017时,该值更改为
{\\rtf1\\fbidis\\ansi\\deff0\\nouicompat{\\fonttbl{\\f0\\fnil\\fcharset0
Arial;}}\r\n{\\*\\generator Riched20 10.0.16299}\\viewkind4\\uc1
\r\n\\pard\\ltrpar\\fs24\\lang1033 Line1
\\par\r\n\\v\\'1a\\v0 Line2 \\par\r\n\\v\\'1a\\v0
Line3 \\par\r\n\r\n\\pard\\ltrpar\\v\\'1a\\v0
Line4\\par\r\n}\r\n
Run Code Online (Sandbox Code Playgroud)
当我访问Text属性时,我得到了这个Text
Line1 \ nLine2 \ nLine3 \ nLine4
RichTextBox删除了VS 2017中的转义字符,谁知道为什么?