C# WinForms 如何将图表添加到面板?

C# WinForms How to add Chart to Panel?

我正在尝试将动态图表添加到 C# WinForms 中的面板,但尚未成功。

情况:
我有一个带有按钮 (button1) 和面板的表单 (Form1)。单击按钮 (button1) 后,会出现一个对话框。

当对话框 (Form2) 中的 Dialog.Result 正常时,它应该在面板中添加一个带有一些随机值的图表。应该可以将多个图表添加到面板。

到目前为止我尝试了什么:
我制作了一个单独的 class (addGraph),我在其中编写了一个函数,该函数创建了一个包含 2 个值的柱形图。比起我尝试调用对话框 (Form2) class 中的函数,但这并没有像预期的那样工作,并且在 (Form1) 面板中没有显示任何内容。

问题:
Form2调用函数如何实现Form1添加图表?
我还应该使用 Panel 还是 GraphControl?

感谢您的帮助。
问候

最简单的方法是在创建 Form2 时将 link 从 Form1 发送到 Form2。

在表格 1 中:

void Button_click()
{
   Form2 form = new Form2();
   form.parent = this;
   form.Show();
}

在表格 2 中:

private Form parent;
void Add_Chart()
{
   var chart= CreateSomeRandomeChart();
   this.parent.createChart(chart);
}

我猜是这样的:

void Button1_click()
{
   using (Form2 form2 = new Form2())
   {
      if (form2.DialogResult == DialogResult.OK)
      {
         var chart = create your chart here
         chart.Parent = YourPanel;
      }
   }
}

如果图表是在 Form2 上创建的,那么它看起来会更像

void Button1_click()
{
   using (Form2 form2 = new Form2())
   {
      if (form2.DialogResult == DialogResult.OK)
      {
         var chart = form2.CreateChart();
         chart.Parent = YourPanel;
      }
   }
}

并且在 Form2 上,您将需要一个名为 CreateChart() 的 public 函数,它将创建偏离航线的图表