文本框替换和拆分不工作vb.net

文本框替换和拆分不工作vb.net,vb.net,replace,split,Vb.net,Replace,Split,我已经为简单的事情挣扎了太多,比如我正在发布的那件事 我正在vb.net中开发一个UI,它可以从机器上收集一些信息。信息被收集到一个文本框中: Private Sub ReceivedText(ByVal [text] As String) If Me.TextBox2.InvokeRequired Then Dim x As New SetTextCallBlack(AddressOf ReceivedText) Me.Invoke(x, New Obj

我已经为简单的事情挣扎了太多,比如我正在发布的那件事

我正在vb.net中开发一个UI,它可以从机器上收集一些信息。信息被收集到一个文本框中:

Private Sub ReceivedText(ByVal [text] As String)
    If Me.TextBox2.InvokeRequired Then
        Dim x As New SetTextCallBlack(AddressOf ReceivedText)
        Me.Invoke(x, New Object() {(text)})
    Else
        Me.TextBox2.Text &= [text]
    End If
End Sub
然后我将这些信息收集到datagridview或一些标签以显示简单信息

Sub dgv()

    Dim sup2 = TextBox2.Text.Replace("#", "").Replace(">", " "c)
    Dim sup() = sup2.Split(" "c, "#", vbCrLf, vbTab)

    With DataGridView1
        .Rows(0).Cells(0).Value = sup(1).ToString
        .Rows(0).Cells(1).Value = sup(7).ToString
        .Rows(0).Cells(3).Value = sup(4).ToString
    End With
    Button5.Enabled = True
    Button6.Enabled = True
End Sub
这个很好用

但是当我尝试用下面的代码填充标签时,它就是不起作用

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Thread.Sleep(250)

    Dim final = TextBox2.Text.Replace("#", "").Replace("SN", " "c)
    Dim final2() = final.Split(" "c, "#", vbCrLf, vbTab)
    Label1.Text = final2(0).ToString
    Textbox2.Text= final2(0).ToString

End Sub
有人能帮我吗?标签没有文本。。文本框会得到所有信息

顺便说一句,文本框是多行的,如果我在MicrosoftWord中粘贴文本,它会带有选项卡和额外的空格

编辑:下面microsoft word的printscreen[相关]

编辑2:这太奇怪了

如果我这样做

Label1.Text = "Testing" & TextBox2.Text

它只在标签上显示“测试”..

如果将标签设置为自动调整大小,它将随着您在其中输入的任何文本自动增长。(这包括垂直增长。)

值分配给
标签1
之前

使用下面的代码

Label1.MaximumSize = new Size(100, 0)
Label1.AutoSize = true
你的代码应该是

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Thread.Sleep(250)

    Dim final = TextBox2.Text.Replace("#", "").Replace("SN", " "c)
    Dim final2() = final.Split(" "c, "#", vbCrLf, vbTab)
    Label1.MaximumSize = new Size(100, 0)
    Label1.AutoSize = true
    Label1.Text = final2(0).ToString
    Textbox2.Text= final2(0).ToString

End Sub

如果将标签设置为“自动调整大小”,则它将随您在其中输入的任何文本自动增长。(这包括垂直增长。)

值分配给
标签1
之前

使用下面的代码

Label1.MaximumSize = new Size(100, 0)
Label1.AutoSize = true
你的代码应该是

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Thread.Sleep(250)

    Dim final = TextBox2.Text.Replace("#", "").Replace("SN", " "c)
    Dim final2() = final.Split(" "c, "#", vbCrLf, vbTab)
    Label1.MaximumSize = new Size(100, 0)
    Label1.AutoSize = true
    Label1.Text = final2(0).ToString
    Textbox2.Text= final2(0).ToString

End Sub

如果将#替换为空字符串,那么为什么尝试使用字符串中不再存在的#进行拆分?我强烈建议您使用。一旦你纠正了它指出的问题(例如,String.Split没有过载,它以(char,String,String,String)为参数),你可能会发现你的程序工作了。@Steve我在测试一些东西!Ofc这样说没有道理!连接字符串时不要使用
+
,而是使用
&
。@noidea如果字符串中某处有一个Chr(0),那么尽管它不应该有什么区别,但可能有人错误地将其误认为是字符串的C样式结尾。我建议您不要在文本框中收集数据,而是将其收集到一个字符串中。如果您将#替换为空字符串,那么为什么要尝试使用字符串中不再存在的#进行拆分?我强烈建议您使用。一旦你纠正了它指出的问题(例如,String.Split没有过载,它以(char,String,String,String)为参数),你可能会发现你的程序工作了。@Steve我在测试一些东西!Ofc这样说没有道理!连接字符串时不要使用
+
,而是使用
&
。@noidea如果字符串中某处有一个Chr(0),那么尽管它不应该有什么区别,但可能有人错误地将其误认为是字符串的C样式结尾。我建议您不要在文本框中收集数据,而是在字符串中收集数据。它不起作用。。Label不显示任何文本,Textbox显示所有文本。我不知道这是否有帮助,但我想去掉所有格式。问题更新顺便说一下!不。它不起作用。。Label不显示任何文本,Textbox显示所有文本。我不知道这是否有帮助,但我想去掉所有格式。问题更新顺便说一下!