换行符数据未在vb.net多行TextBox中正确显示

问题描述 投票:1回答:1

我正在从MySQL填充多行TextBox,数据基本上是多行的段落,其间有换行符。我的数据在数据库中看起来很好;当我直接从工作台将数据复制并粘贴到文本编辑器(我使用NotePad ++)时,数据看起来很好。

enter image description here

Test2和Test3之间有一个奇怪的空间,但我可以忍受。

当我尝试和MsgBox它,它看起来也很好:

enter image description here

但是当它被添加到我的TextBox时,我的问题来了:

enter image description here

我看过几个资源,包括here,但我找不到一个有效的解决方案,也没有找到合理解释为什么会这样。有没有人至少有一个解释,所以我可以找出一个解决方法?

mysql vb.net textbox
1个回答
0
投票

从粘贴到Notepad ++中的文本看来,从MySql Workbench复制的原始字符串包含多个换行符,并且可能包含分隔文本部分的空格。

这变得更加明显,因为MessageBox显示以多行分隔的文本。 .Net MessageBox包含User32 MessageBox函数,它允许\nVbLf - CharW(10)),\rVbCr - CharW(13))或两者(VBCrLf)作为行分隔符。 消息部分的字符串参数lpText将解析并调整以下任何一个:

要显示的消息。如果字符串由多行组成,则可以使用每行之间的回车符和/或换行符分隔行。

标准TextBox要求使用LineFeed +回车符(\r\n)来分隔文本行:当文本粘贴在TextBox控件中时,由于仅使用\n,因此文本不会以不同的行分隔。

RichTextBox控件更加国际化(MacOs也为* nix \r抛弃了\n):它使用\n来分隔文本行。 如果我们提供\r\n(Windows风格)作为行分隔符,则控件将\r\n转换为\n。 因此,将此文本粘贴到RichTextBox中,原始换行符将按预期进行解析。

© www.soinside.com 2019 - 2024. All rights reserved.