从多个Richtextbox构建的字符串会丢失格式

时间:2015-07-28 15:18:55

标签: vb.net richtextbox

我已经建立了一个用于创建票证的表单。 Message-text最初位于一个Richtextbox中。 LongText将作为String在webrequest中发送。 由于我从三个Richtextbox中构建了longtext,因此断行符(并且只有换行符)的格式被破坏。

现在我已将其更改为三个方框: - 第一个带问候语的人 - 带有长文本的主要文本 - 最后一个带有“最好的问候”的短语

表格如下:

Form-sample

问题: 创建我想要传递的字符串使我的最终字符串变形,我不知道为什么。

我像这样构建我的最终字符串:

     Dim MyFinstr as string = RTB1.text & vbnewline &
 vbnewline & RTB2.text & vbnewline & vbnewline & RTB3.text

我的最终字符串应该如下所示:

Hello mr Test,

long text 1
longtext line2 
long ipsum

Best Regards 
Mr Blaze

相反,它总是这样:

Hello mr Test,
long text 1
longtext line2 
long ipsum
Best Regards 
Mr Blaze

所以 - 以某种方式 - 当字符串是由3个Richtexbox的文本构建时,它会中断。

现在是最令人困惑的部分: 如果我没有将richtextboxes中的内容分配给字符串并执行 this

  AnoterRichtextbox.text = RTB1.text & vbnewline &
 vbnewline & RTB2.text & vbnewline & vbnewline & RTB3.text 
Dim MyFinstr as String = AnoterRichtextbox.text

然后字符串很好并且最后有换行符。

我的脏解决方法是一个看不见的第四个richtextbox,有点转换我的String看起来很好。但我真的不明白为什么会这样。

如果我将它复制到剪贴板并使用换行符在Notepad ++中查看它,则字符串看起来相同。但是 - 最后 - webrequest生成的票证已经破坏了格式,并且没有从Richtextbox4转换的字符串。

你对我正在监督的事情有所暗示吗? :)

1 个答案:

答案 0 :(得分:1)

may you should look about ControlChars like this:

 RichTextBox1.Text = RichTextBox1.Text.Replace(ControlChars.Lf, ControlChars.CRLF)