Invoke-Methode für Multi-Thread-Anwendung?

Ich habe einen Fehler in meiner Anwendung, der mit @ identisch isHie, bei dem diese Person auf dasselbe Problem gestoßen ist. Meine Anwendung ist eine Multithread-Anwendung, bei der der Worker-Thread den Waveformgraph auf der Benutzeroberfläche aktualisiert. Ich glaube, hier liegt mein Problem und warum ich gelegentlich ein großes rotes X in mindestens einem meiner Waveformgraph-Objekte erhalte, wenn die Anwendung ausgeführt wird. Wenn ich etwas gelesen und recherchiert habe, muss ich eine Invoke- oder eine BeginInvoke-Methode verwenden. Kann jemand bitte besser erklären und einen Beispielcode bereitstellen, der für meinen Code relevant ist? Die Beispiele, die ich bisher gefunden habe, haben mich immer noch dunstig darüber, wie ich dies tun muss oder was ich tun muss. Danke für deine Hilfe

Dieser Code befindet sich im swScopeOnOff-Klickereignis, Haupt-Thread.

  thread2 = New System.Threading.Thread(AddressOf dataAcquiring)
  thread2.Start()

Dieser Code befindet sich in 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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage