目前,我有一组来自线程捕获的传感器的值。我想将这些值绘制到图表中,实时",比如说每1秒。
所以我通常做的就是这个(在非线程版本中):
1)将数据导入List
2)点击按钮运行myChart.Refresh()
3)触发OnPaint()
绘制图形。
然而,我意识到我无法在一个线程中触发OnPaint()
。我也知道有一个BackgroundWorker
类,但我不知道如何用它来触发OnPaint()
方法。
答案 0 :(得分:0)
OnPaint()只能在主UI线程上调用,因为它需要绘制图形并更新UI。您可以使用Dispatcher Class从任何线程进行交互并执行UI操作。 请参阅此link以了解有关调度员的更多信息。