Vb.net 将文本分配给字符串变量后,如何在Winforms中保留文本框换行符?

Vb.net 将文本分配给字符串变量后,如何在Winforms中保留文本框换行符?,vb.net,winforms,richtextbox,Vb.net,Winforms,Richtextbox,我有一个带有多行文本框的WinForms应用程序。这将显示并保留(从数据库加载后)换行字符 但是,如果我将TextBox.Text值指定给一个字符串变量,然后将该变量重新指定回TextBox.Text属性,则换行符将丢失并替换为一个方形字符(此处不能超过它们,因为它们只是作为换行符粘贴!) 我试过: Replace("\n",vbcrlf) 但是没有用 有人能提出解决办法吗 更新** 我还没有解决这个问题,但是通过避免变量赋值解决了这个问题。现在,我将引用传递给RichTextBox,并直接在

我有一个带有多行文本框的WinForms应用程序。这将显示并保留(从数据库加载后)换行字符

但是,如果我将TextBox.Text值指定给一个字符串变量,然后将该变量重新指定回TextBox.Text属性,则换行符将丢失并替换为一个方形字符(此处不能超过它们,因为它们只是作为换行符粘贴!)

我试过:

Replace("\n",vbcrlf)
但是没有用

有人能提出解决办法吗

更新**

我还没有解决这个问题,但是通过避免变量赋值解决了这个问题。现在,我将引用传递给RichTextBox,并直接在那里操作文本。请注意,这似乎是RichTextBox特有的,因为我看不到普通文本框的问题。

只是一个想法: 把“\r\n”改成“\n”怎么样?

只是个主意:
将“\r\n”改为“\n”如何?

是否仍在转换字符串?既然是这样的:

    Dim s As String = TextBox1.Text
    TextBox1.Text = s

工作正常。

您是否仍在转换字符串?既然是这样的:

    Dim s As String = TextBox1.Text
    TextBox1.Text = s

工作正常。

您需要使用替换(vblf,vbcrlf)或替换(vbcr,vbcrlf)来代替替换(“\n”vbcrlf)。

您需要使用替换(vblf,vbcrlf)或替换(vbcr,vbcrlf)来代替替换(“\n”vbcrlf)。

通常,当您设置Multiline=false时会出现此类问题。是,但在本例中,Multiline设置为true。“\n”在vb.net中并不表示任何特殊的含义,仅表示C。请使用vbCr、vbLf或vbCrlf。请显示您正在使用的实际代码(或复制问题的某些示例代码),因为仅指定文本框的text属性不应删除任何字符!通常,当设置Multiline=false时会出现这种类型的问题。是的,但在这种情况下Multiline设置为true。“\n”在vb.net中并不意味着什么特别的东西,只有C#。请使用vbCr、vbLf或vbCrlf。请显示您正在使用的实际代码(或复制问题的某些示例代码),因为仅指定文本框的text属性不应删除任何字符!这正是我使用的逻辑,没有更复杂的。文本框中是否设置了特殊编码?这正是我使用的逻辑,没有更复杂的。文本框中是否设置了特殊编码?