无法将项目添加到列表框中

时间:2013-10-21 15:30:48

标签: vb.net listbox

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

2 个答案:

答案 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