我正在从MySQL填充多行TextBox,数据基本上是多行的段落,其间有换行符。我的数据在数据库中看起来很好;当我直接从工作台将数据复制并粘贴到文本编辑器(我使用NotePad ++)时,数据看起来很好。
Test2和Test3之间有一个奇怪的空间,但我可以忍受。
当我尝试和MsgBox它,它看起来也很好:
但是当它被添加到我的TextBox时,我的问题来了:
我看过几个资源,包括here,但我找不到一个有效的解决方案,也没有找到合理解释为什么会这样。有没有人至少有一个解释,所以我可以找出一个解决方法?
从粘贴到Notepad ++中的文本看来,从MySql Workbench复制的原始字符串包含多个换行符,并且可能包含分隔文本部分的空格。
这变得更加明显,因为MessageBox显示以多行分隔的文本。
.Net MessageBox包含User32 MessageBox函数,它允许\n
(VbLf
- CharW(10)
),\r
(VbCr
- CharW(13)
)或两者(VBCrLf
)作为行分隔符。
消息部分的字符串参数lpText
将解析并调整以下任何一个:
要显示的消息。如果字符串由多行组成,则可以使用每行之间的回车符和/或换行符分隔行。
标准TextBox要求使用LineFeed +回车符(\r\n
)来分隔文本行:当文本粘贴在TextBox控件中时,由于仅使用\n
,因此文本不会以不同的行分隔。
RichTextBox控件更加国际化(MacOs也为* nix \r
抛弃了\n
):它使用\n
来分隔文本行。
如果我们提供\r\n
(Windows风格)作为行分隔符,则控件将\r\n
转换为\n
。
因此,将此文本粘贴到RichTextBox中,原始换行符将按预期进行解析。