【发布时间】:2016-03-04 04:24:47
【问题描述】:
我的应用程序中有一个与here 相同的错误,此人遇到了同样的问题。我的应用程序是多线程的,其中工作线程正在更新 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
【问题讨论】:
标签: vb.net multithreading invoke begininvoke measurement-studio