C#MSChart:按间隔缩放
我有一个MSChart对象,其中包括绘制折线图。Y轴表示权益的值,X轴表示日期时间。使用组合框,用户可以更改X轴的间隔。例如,选择“一天”值将强制X轴每天显示一个条形图: 然而,这还不够。除此之外,每当用户更改X轴的时间刻度时,我希望图表从图表中包含的第一个点放大到它找到的X轴的第一个间隔标记。简单来说,我想这样做: 自动地。但是,我被卡住了,因为我不知道如何找到X轴上第一个间隔标记的“位置”。我知道我想从第一个数据点放大到间隔标记,但是当我不知道它可以有多大时,我该怎么做呢?请记住,用户可以自己更改时间刻度,因此我不能为此使用硬编码值 我将非常感谢您能给我的任何帮助,因为到目前为止我还没有找到任何结论C#MSChart:按间隔缩放,c#,charts,zooming,mschart,C#,Charts,Zooming,Mschart,我有一个MSChart对象,其中包括绘制折线图。Y轴表示权益的值,X轴表示日期时间。使用组合框,用户可以更改X轴的间隔。例如,选择“一天”值将强制X轴每天显示一个条形图: 然而,这还不够。除此之外,每当用户更改X轴的时间刻度时,我希望图表从图表中包含的第一个点放大到它找到的X轴的第一个间隔标记。简单来说,我想这样做: 自动地。但是,我被卡住了,因为我不知道如何找到X轴上第一个间隔标记的“位置”。我知道我想从第一个数据点放大到间隔标记,但是当我不知道它可以有多大时,我该怎么做呢?请记住,用户可
编辑:以下是我到目前为止的发现。更精确地说,我要找的是X轴主网格第一条网格线的位置。但是,当绘制两个轴的主栅格时,它们没有给出实际位置,或者至少该位置不包含在适当的范围内。因此,必须计算该位置-但如何定义事件触发器:
SelectionRangeChanged += new EventHandler<CursorEventArgs>(your_handler_function);
public void your_handler_function(object sender, CursorEventArgs e)
{
e.NewSelectionStart; // the beginning of the new range
e.NewSelectionEnd; // the end of the new range
}