vb.net 多行文本框中的换行数据未正确显示
Newline data not showing up correctly in vb.net multiline TextBox
我正在从 MySQL 填充一个多行文本框,数据基本上是多行段落,中间有换行符。我的数据在数据库中看起来很好;当我直接从 workbench 将数据复制并粘贴到文本编辑器(我使用 NotePad++)时,数据看起来很好。
Test2 和 Test3 之间有一个奇怪的 space,但我可以接受。
当我尝试使用 MsgBox 时,它看起来也不错:
但是在将它添加到我的 TextBox 时,我的问题来了:
我查看了多种资源,包括 here,但找不到有效的解决方案,也找不到合理的解释为什么会发生这种情况。有没有人至少有一个解释,所以我可以想出一个解决方法?
从粘贴到 Notepad++ 的文本来看,从 MySql Workbench 复制的原始字符串似乎包含多个换行字符,并且可能包含分隔文本部分的 space。
这变得更加明显,因为 MessageBox 显示的文本分为多行。
.Net MessageBox wraps the User32 MessageBox 函数,它允许 \n
(VbLf
- CharW(10)
)、\r
(VbCr
- CharW(13)
) 或两者 ( VBCrLf
) 作为行分隔符。
消息部分的字符串参数 lpText
将解析和适配以下任何一个:
The message to be displayed. If the string consists of more than one
line, you can separate the lines using a carriage return and/or
linefeed character between each line.
标准的 TextBox 需要使用 LineFeed+Carriage Return (\r\n
) 来分隔文本行:当文本粘贴到 TextBox 控件中时,因为只有 \n
时,文本不分行。
RichTextBox 控件更加国际化(MacOs 也为 *nix \n
放弃了 \r
):它使用 \n
分隔文本行。
如果我们提供 \r\n
(Windows 样式)作为行分隔符,控件会将 \r\n
转换为 \n
.
因此,将此文本粘贴到 RichTextBox 中时,将按预期解析原始换行符。
我正在从 MySQL 填充一个多行文本框,数据基本上是多行段落,中间有换行符。我的数据在数据库中看起来很好;当我直接从 workbench 将数据复制并粘贴到文本编辑器(我使用 NotePad++)时,数据看起来很好。
Test2 和 Test3 之间有一个奇怪的 space,但我可以接受。
当我尝试使用 MsgBox 时,它看起来也不错:
但是在将它添加到我的 TextBox 时,我的问题来了:
我查看了多种资源,包括 here,但找不到有效的解决方案,也找不到合理的解释为什么会发生这种情况。有没有人至少有一个解释,所以我可以想出一个解决方法?
从粘贴到 Notepad++ 的文本来看,从 MySql Workbench 复制的原始字符串似乎包含多个换行字符,并且可能包含分隔文本部分的 space。
这变得更加明显,因为 MessageBox 显示的文本分为多行。
.Net MessageBox wraps the User32 MessageBox 函数,它允许 \n
(VbLf
- CharW(10)
)、\r
(VbCr
- CharW(13)
) 或两者 ( VBCrLf
) 作为行分隔符。
消息部分的字符串参数 lpText
将解析和适配以下任何一个:
The message to be displayed. If the string consists of more than one line, you can separate the lines using a carriage return and/or linefeed character between each line.
标准的 TextBox 需要使用 LineFeed+Carriage Return (\r\n
) 来分隔文本行:当文本粘贴到 TextBox 控件中时,因为只有 \n
时,文本不分行。
RichTextBox 控件更加国际化(MacOs 也为 *nix \n
放弃了 \r
):它使用 \n
分隔文本行。
如果我们提供 \r\n
(Windows 样式)作为行分隔符,控件会将 \r\n
转换为 \n
.
因此,将此文本粘贴到 RichTextBox 中时,将按预期解析原始换行符。