文本框替换和拆分不工作vb.net
我已经为简单的事情挣扎了太多,比如我正在发布的那件事 我正在vb.net中开发一个UI,它可以从机器上收集一些信息。信息被收集到一个文本框中:文本框替换和拆分不工作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
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显示所有文本。我不知道这是否有帮助,但我想去掉所有格式。问题更新顺便说一下!