我的应用程序中有一个错误,与此人遇到相同问题的此处相同。我的应用程序是多线程的,其中工作线程正在更新 UI 上的 Waveformgraph。我相信这就是我的问题所在,以及为什么在运行应用程序时,我会在至少一个波形图对象中得到一个大的红色 X。从阅读和研究中,我需要使用 Invoke 或 BeginInvoke 方法吗?有人可以更好地解释并提供与我的代码相关的示例代码吗?到目前为止,我发现的样本仍然让我模糊不清我需要如何做这件事或我需要做什么。谢谢您的帮助。
此代码位于主线程的 swScopeOnOff 单击事件上。
thread2 = New System.Threading.Thread(AddressOf dataAcquiring)
thread2.Start()
此代码在 dataAcquiring Sub
Public Sub dataAcquiring()
'While Scope switch is on, stream each Ai channel's data continuously to its respective WaveForm graph
Do While swScopeOnOff.Value = True
data = reader.ReadWaveform(readRate)
i = 0
For Each WaveformGraph In WFGS
WaveformGraph.PlotWaveformAppend(data(i)) 'This line is updating the UI's waveform graphs
i += 1
Next
i = 0
Loop
End Sub