2009-05-11 4 views
1

私はMicrosoft Chart Control for .NET 3.5を使用しています。グラフコントロールを取得してウィンドウとコントロールのサイズを変更するのに苦労しています。WindowsフォームのDundas/Microsoft Chartコントロールで動的な間隔を取得するにはどうすればよいですか?

グラフのX値が日付で、ウィンドウのサイズを変更したときにグラフの最大間隔/ラベルがチャート軸に表示されます。

私が来た最も近いのプレ塗料イベントからこれを呼び出すことです:

double interval = chart.Series[0].Points.Count/((double)chart.Width/90); 
foreach (var area in chart.ChartAreas.Where(ca => ca.Visible)) 
{ 
    area.AxisX.Interval = interval; 
} 

これは、間隔やラベルがX軸に沿って完璧にフィットしますが、日付が正しく表示されません。この最初のラベルは正しいと思われます(2008年のある日付)が、軸に沿った残りのラベルは1900年の日付として表示されます。

これを行うための好ましい方法は何ですか?

答えて

1

Microsoft Chart Controlsで日付を指定するには、開始する最小限の日付を明示的に指定する必要があります。そうでなければ1899年12月29日が起源です。あなたは

chart.ChartAreas[0].AxisY.Minimum = (new DateTime(2010, 5, 1)).ToOADate(); 
chart.ChartAreas[0].AxisY.Maximum = (new DateTime(2011, 4, 1)).ToOADate(); 

Creating a Gantt Chart with the MS Chart Controlsは、Microsoftグラフコントロールにいくつかの貴重な情報を持っているポストのように、チャート上で最小と最大の日付を設定することができます。

関連する問題