mysql - 换行数据未在 vb.net 多行文本框中正确显示

标签 mysql vb.net textbox

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

enter image description here

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

当我尝试使用 MsgBox 时,它看起来也不错:

enter image description here

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

enter image description here

我查看了多种资源,包括 here ,但我找不到有效的解决方案,也找不到合理的解释为什么会这样。有没有人至少给出解释,以便我找出解决方法?

最佳答案

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

这变得更加明显,因为 MessageBox 显示的文本分为多行。
.Net MessageBox包装 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 需要换行+回车 (\r\n) 来分隔文本行:当文本被粘贴到 TextBox 控件中时,因为只有 使用\n,文本不分行。

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

关于mysql - 换行数据未在 vb.net 多行文本框中正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55746134/

相关文章:

php - 执行存储在数据库中的 PHP 代码

java - mysql - 选择查询输出文件 - 文件保存在哪里

php - 多个 'Select column where ...' vs 选择所有列

vb.net - 与 VB .net Lambdas 斗争

asp.net - 带有文本框的 AutoPostback 失去焦点

html - 表格文本框填满后不会展开

php - 我托管网站后,密码盐不起作用

vb.net - 在 Visual Studio 2010 中查看设计器代码

vb.net - 如何在VB.NET中创建动态Excel链接? (不是.dll)

javascript - 使用循环创建Word Scrambler