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