嘿,我想知道为什么我的第二种形式不显示我在第一种形式中收到的价值。第二种形式在调用时没有显示以第一种形式存储的值
第一种形式的代码是:
Private Sub scannerOnCom_DataReceived(ByVal sender As Object, ByVal e As SerialDataReceivedEventArgs)
responceBack = scannerOnCom.ReadLine
Call frm1110.clickButton(responceBack)
End Sub
第二种形式的代码是这样的:
Public Sub clickButton(ByRef theResponse As String)
txtNumber.Text = theResponse
'Call cmdNextFinish_Click(Nothing, Nothing)
End Sub
然而,当我调试它,以确保有存放theResponse东西,有但是由于某种原因,它没有把它放到文本框中。它是空白的。
任何帮助将是伟大的!
大卫
UPDATE
好了,所以Form1中:
Dim tmpForm3020 As New frm3020
Private Sub cmd3020_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd3020.Click
tmpForm3020.Show()
Me.WindowState = FormWindowState.Minimized
End Sub
Private Sub scannerOnCom_DataReceived(ByVal sender As Object, ByVal e As SerialDataReceivedEventArgs)
responceBack = scannerOnCom.ReadLine
tmpForm3020.txtNumber.Text = responceBack
End Sub
如果那是正确的,那么我得到行错误:
xForm.txtNumber.Text = responceBack
说:
跨线程操作无效:控制'txtNumber'从一个线程访问,而不是它创建的线程。
这只是打开另一种形式(所以现在总共3)。我想要做的就是将该值扫描到已打开窗体的txtbox中。 (表2) – StealthRT
@StealthRT尝试我更新的解决方案。 –
更新了OP,但仍然出现了错误:( – StealthRT