我的表单上有一些图表,其中一些图表在您滚动到底部之前不可见。我想同步水平滚动图表(所有图表上的滚动条应该一起移动)。我能够使用AxisViewChanged
事件执行此操作:
chartA.ChartAreas[0].AxisX.ScaleView.Position = chartB.ChartAreas[0].AxisX.ScaleView.Position;
但是,这仅适用于之前绘制过的图表。如果我想让它适用于其他图表,我需要将滚动条移动到表单的底部,以便所有图表至少被绘制一次。
问题在于图表中的函数chart.ChartAreas[0].AxisX.PixelPositionToValue(e.Location.Y)
尚未绘制,而且函数的结果是Infinity
或-Infinity
。
我制作图表时使用RecalculateAxesScale()
,但这没有帮助。
我想我需要像在屏幕上看到的那样初始化每个图表。我应该使用什么功能?