2015-03-30 80 views
0

我试图在另一窗口窗体中打开图表,但用于图表中数据的类是第一种形式。我的目标是让图表能够在无模式的窗口中多次打开。如何将一个图表分配给另一个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

每个窗口有相同的数据?或使用相同图表设置的不同数据。 – 2015-03-30 23:35:42

+0

相同的数据。希望同样的设置,如果我也有,我可以改变那些。 – user3376703 2015-03-30 23:38:45

+0

在你的数据变量中使用什么样的上下文? – Aizen 2015-03-31 00:02:32

回答

0

最好是使图表是一个单独的类并调用或从任何形式的创建你需要。 这遵循面向对象原则,因此您可以重用代码并将其用于多种用途/视图。

+0

图表已经是一个C#类,我也无法在任何原因的表单之间使用类。否则,我会在第二种形式中使用data []的类,并且我的问题将得到解决,因为我可以使用第二种形式的数据。 – user3376703 2015-03-30 23:34:30

相关问题