Private Sub bkWorker_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bkWorker.DoWork
Dim bw As BackgroundWorker = CType(sender, BackgroundWorker)
Dim Status As Long = 1
While Status
If WaitForEvent(100) = 0 Then
tvwbeginUpdate() '代理函数
While Read(xxxx) = 0 '不断读取数据
frmNode.showNodeState(xxxx) '代理函数 显示数据 node窗体
displayData(xxxx) '代理函数 显示数据 data窗体
End While
tvwendUpdate() '代理函数
End If
End While
If bw.CancellationPending Then
e.Cancel = True
End If
End Sub
现在问题是这样,如果这些代码放在放在data窗体下的的bkworker中则me.displaydata正常,而shownodestate不能显示,从调试的窗口中可以看出frmnode.shownodestate也已经进入。反之如果把这些代码放到node窗体下的bkworker中则me.shownodestate能正常显示,而displaydata不能,从调试的窗口中可以看出也已经进入。
请高手分析一下这是怎么一回事,谢谢。还有什么方法可以实现我想要的功能,谢谢。