使用图表控件进行调用非常慢

时间:2018-04-12 21:02:34

标签: c# invoke

我最近使用套接字(我认为.Net 4.0使用)COM将我的程序移动到x64,在那里我甚至不知道命令" Invoke"
现在我知道这一切都很好,它让我的程序爬行。 我做了很多简单的事情,比如:

chart1.Series[Series1].Color = Color.White;

现在我需要添加Invoke因为交叉线程

chart1.Invoke(new Action(() => chart1.Series[Series1].Color = Color.White;

现在程序无法使用,因为它太慢了。我经历了100次交易 旧的32位版本运行良好,现在没有那么多(Invoke)。

唯一改变的是Invokes和Sockets都可以正常工作。

我可以使用其他方法来加速这件事吗?

我可以在"批次"?

中多次执行Invoke

我每次都需要使用Invoke吗?

1 个答案:

答案 0 :(得分:0)

是的,值得尝试将调用集中在一起。您不必为每个控件单独调用invoke。也许是这样的:

Invoke
(
    new Action
    (
        () =>
        {
            chart1.Series[Series1].Color = Color.White;
            chart2.Series[Series2].Color = Color.Blue;
        }
    )
);