当我尝试将项目添加到列表框时,我收到有关跨线程的错误。这个Sub位于frmMain类中。 lstSells是frmMain上的列表框。它必须是一个简单的修复,但后来有20多个商品搜索和大量的网页,我没有看到它。人们说他们在尝试从不同的班级做这件事时遇到了问题,但不是这样的。我是vb.net的新手,习惯了我们的VB6,所以也许这里很简单,我在这里不见了?
Private Sub OnMessage(sender As Object, e As MessageEventArgs)
Messages.Add(e.Data)
lstSells.Items.Add("test")
End Sub
答案 0 :(得分:2)
当您尝试从另一个Thread更新表单时会触发此问题,而不是从另一个类更新。
了解如何在MSDN上呼叫代理,他们真的很有帮助! http://msdn.microsoft.com/en-us/library/zyzhdc6b.aspx
答案 1 :(得分:1)
试试这个:
If lstSells.InvokeRequired Then
lstSells.Invoke(Sub() lstSells.Items.Add("test"))
Else
lstSells.Items.Add("test")
End If