我正在使用图表开发基于Windows的应用程序。该图表是具有x轴作为System.DateTime
类型的折线图。我每1秒将实时数据添加到图表中,我必须始终显示10分钟帧(如0-10分钟,10-20分钟......)。为此,我设置了图表的最小值和最大值。我没有将isXValueIndexed
属性设置为true。用户可以通过鼠标单击选择数据点。我需要标记用户选择的数据点。我尝试了以下代码,但它无法正常工作。请指导我。
private void chart1_CursorPositionChanged(object sender, CursorEventArgs e)
{
DataPoint pt = chart1.Series[0].Points[(int)Math.Max(e.ChartArea.CursorX.Position - 1, 0)];
pt.MarkerStyle = MarkerStyle.Square;
pt.MarkerColor = Color.Brown;
pt.MarkerSize = 10;
pt.MarkerBorderWidth = 5;
}
我将e.ChartArea.CursorX.Position
值设为double(例如42502.00002)并获得System.ArgumentOutOfRangeException
。