如何将一个图表分配给另一个C#
问题描述:
我试图在另一窗口窗体中打开图表,但用于图表中数据的类是第一种形式。我的目标是让图表能够在无模式的窗口中多次打开。如何将一个图表分配给另一个C#
在Form1.cs我建立我的图表:
Chart chart = new Chart();
Series price = new Series("Price"); //create new series
chart.Series.Add(price);
chart.Series["Price"].ChartType = SeriesChartType.Candlestick;
chart.Series["Price"]["OpenCloseStyle"] = "Candlestick";
chart.Series["Price"]["ShowOpenClose"] = "Both";
chart.Series["Price"]["PriceUpColor"] = "Green"; //Price increase = green
chart.Series["Price"]["PriceDownColor"] = "red"; //price decrease = red
for (int i = 0; i < data.Count; i++)
{
chart.Series["Price"].Points.AddXY(data[i].getDate(), data[i].getHigh()); //Adds date and high value
chart.Series["Price"].Points[i].YValues[1] = System.Convert.ToDouble(data[i].getLow()); //Low value added to chart
chart.Series["Price"].Points[i].YValues[2] = System.Convert.ToDouble(data[i].getOpen()); //open value added to chart
chart.Series["Price"].Points[i].YValues[3] = System.Convert.ToDouble(data[i].getClose()); //close value added to chart
}
Form2.cs:
public void DisplayChart(Chart newChart)
{
chart1 = newChart;
chart1.Show();
}
答
最好是使图表是一个单独的类并调用或从任何形式的创建你需要。 这遵循面向对象原则,因此您可以重用代码并将其用于多种用途/视图。
+0
图表已经是一个C#类,我也无法在任何原因的表单之间使用类。否则,我会在第二种形式中使用data []的类,并且我的问题将得到解决,因为我可以使用第二种形式的数据。 – user3376703 2015-03-30 23:34:30
每个窗口有相同的数据?或使用相同图表设置的不同数据。 – 2015-03-30 23:35:42
相同的数据。希望同样的设置,如果我也有,我可以改变那些。 – user3376703 2015-03-30 23:38:45
在你的数据变量中使用什么样的上下文? – Aizen 2015-03-31 00:02:32