2013-02-19 4 views
0

Я пытаюсь добавить диаграмму в качестве контроля в flowlayoutpanel, но после выполнения всех диаграмм становится пустым, как это решить? вот мой кодДиаграмма не отображается в FlowLayoutPanel?

flowLayoutPanel1.Controls.Clear(); 
System.Windows.Forms.DataVisualization.Charting.Series Series = new Series(); 
Chart[] chartMensal = new Chart[12]; 
for (int i = 1; i <= 12; i++) 
{ 
    string[] seriesArray = { "Total Contrato", "Total Vendas", "Total Despeses" }; 
    Double[] pointsArray = { 1000, 1500, 500 }; 

    chartMensal[i] = new Chart(); 
    chartMensal[i].Width = this.Width - 100; 
    chartMensal[i].Height = 200; 

    chartMensal[i].Titles.Add(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(i).ToUpper()); 
    chartMensal[i].Palette = ChartColorPalette.Fire; 
    chartMensal[i].Series.Clear(); 
    Series.Points.Clear(); 

    for (int t = 0; t < seriesArray.Length; t++) 
    { 
    Series.Points.Add(pointsArray[t]); 
    Series = chartMensal[i].Series.Add(seriesArray[t]); 
    } 

    chartMensal[i].Visible = true; 
    flowLayoutPanel1.Controls.Add(chartMensal[i]); 
} 
+0

проверенный графикMensal [i] .Update() или flowLayoutPanel1.Update()? – benJima

+0

Да, но он же выглядит пустым. – Saqi

+0

BTW: ваш первый для цикла отсчет до 12 и вызывает исключение OutOfBoundsException ... Я думаю, что вам не хватает области диаграммы. – benJima

ответ

0

Вам не хватает самой области диаграммы. Добавить перед последней строкой:

   ChartArea ca = new ChartArea(); 
      chartMensal[i].ChartAreas.Add(ca); 

Посмотрите, как дизайнер создает диаграмму. Вы также найдете решение на этом форуме.

Смежные вопросы