这是我第一次使用背景工作者并遇到“交叉线程”问题。我从未做过任何事情,所以我非常困惑。
问题示例
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
PullIPButton.Enabled = False
PingAll()
End Sub
按钮次
Private Sub PullIPButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PullIPButton.Click
If BackgroundWorker1.IsBusy Then
Exit Sub
Else
PullIPs() 'From here, it starts the background worker
End If
End Sub
错误
单击按钮时会出现以下错误,该按钮启用后台工作程序。
跨线程操作无效:从中访问控制'PullIPButton' 一个线程,而不是它创建的线程。