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