В настоящее время у меня есть набор значений от датчика, захваченного из потока. Я хочу построить эти значения на диаграмме в режиме реального времени, скажем, каждые 1 секунду.Обновление диаграммы из другого потока
Так что я обычно делаю это (в непоточную версии):
1) Получить данные в список
2) Нажмите кнопку, чтобы запустить myChart.Refresh()
3) Trigger OnPaint()
, чтобы нарисовать график.
Однако я понял, что не могу вызвать OnPaint()
в потоке. Я также знаю, что есть класс BackgroundWorker
, но я не уверен, как запускать метод OnPaint()
с этим.
У вас уже есть код для нарезки? – jtabuloc
Попробуйте написать код «Control.CheckForIllegalCrossThreadCalls = false» в событии загрузки формы и, следовательно, вы можете вызвать метод _OnPaint() _ из вашего потока, не используя _BackgroundWorker_ –