跨线程操作无效:控制' chart1'从创建它的线程以外的线程访问

时间:2016-02-28 13:37:04

标签: c# multithreading charts delegates invoke

我想在某些情况下更新我的图表。我用另一种方法调用Plot methot。我找到了this解决方案,但它适用于textBox,因此我无法将其实现到我的代码中。我在互联网上搜索但我找不到图表的解决方案。

如何为图表添加点来解决此问题?

private void Plot()
    {
            chart1.Series["test1"].Points.AddXY
                            (plotValues[0,1], plotValues[0,0]);
            chart1.Series["test1"].Points.AddXY
                           (plotValues[1, 1], plotValues[1, 0]);

    }

1 个答案:

答案 0 :(得分:0)

Dispatcher.Invoke(() => chart1.Series["test1"].Points.AddXY
                        (plotValues[0,1], plotValues[0,0]));

(或InvokeAsync,如果你想运行是异步/不需要等待在你的另一个线程上完成操作)