C#windows窗体GUI多线程

C# windows form GUI multithreading

我是 C# 新手,正在尝试编写 GUI 应用程序。 单击 Button_1 后,我希望我的应用程序在 GUI 上显示一些图表。 图表数量仅在 运行 时间内已知。(我不知道在应用程序开始 运行 之前应该有多少图表)。

当按下 Button_1 时,我想创建一个新线程,它会根据图表的数量自行创建新线程。(每个图表都将由不同的线程构建)。 主线程(Form)只会将图表添加到 Form.control 以避免 Form window 冻结。 哪种是实施此类应用程序的最佳方式?后台人员?线程?

图表构建线程应如何将它们创建的图表发送到父线程,父线程应将它们传递到表单的主线程。

不幸的是,Controls 在后台线程上创建的解决方案对于 Windows 表单是不可能的,它不是线程安全的。 Controls 只允许在创建它们的线程上修改,因此没有安全的方法在后台线程上创建一个然后将控制权交给 UI 线程。