0

当我尝试将项目添加到列表框时,我收到有关跨线程的错误。这个 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
4

2 回答 2

2

当您尝试从另一个线程更新表单时会触发该问题,而不是从另一个类更新。

看看如何在 MSDN 上呼叫代表,他们真的很有帮助! http://msdn.microsoft.com/en-us/library/zyzhdc6b.aspx

于 2013-10-21T15:46:14.353 回答
1

尝试这个:

    If lstSells.InvokeRequired Then
        lstSells.Invoke(Sub() lstSells.Items.Add("test"))
    Else
        lstSells.Items.Add("test")
    End If
于 2013-10-21T15:44:10.323 回答