Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#MSChart:按间隔缩放_C#_Charts_Zooming_Mschart - Fatal编程技术网

C#MSChart:按间隔缩放

C#MSChart:按间隔缩放,c#,charts,zooming,mschart,C#,Charts,Zooming,Mschart,我有一个MSChart对象,其中包括绘制折线图。Y轴表示权益的值,X轴表示日期时间。使用组合框,用户可以更改X轴的间隔。例如,选择“一天”值将强制X轴每天显示一个条形图: 然而,这还不够。除此之外,每当用户更改X轴的时间刻度时,我希望图表从图表中包含的第一个点放大到它找到的X轴的第一个间隔标记。简单来说,我想这样做: 自动地。但是,我被卡住了,因为我不知道如何找到X轴上第一个间隔标记的“位置”。我知道我想从第一个数据点放大到间隔标记,但是当我不知道它可以有多大时,我该怎么做呢?请记住,用户可

我有一个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
}