У меня есть ошибка в моем приложении, которая совпадает с here, с которой этот человек сталкивался с той же проблемой. Мое приложение многопоточно, где рабочий поток обновляет Waveformgraph в пользовательском интерфейсе. Я считаю, что это моя проблема и почему, периодически и по случаю, я получаю большой красный X по крайней мере в одном из объектов waveformgraph при запуске приложения. От чтения и исследования мне нужно использовать метод 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
Я ориентирую .NET 4.0, так что это упростило работу. Большое спасибо за код и «как», и объяснение каждого. – busarider29
@ busarider29: Добро пожаловать. .NET 4.0 - одно из лучших обновлений, на мой взгляд. <3 –