如何获得c#图表的缩放事件

本文关键字:缩放 事件 何获得 | 更新日期: 2023-09-27 18:07:07

我有一个图表(win-forms visual studio自带的标准图表),我已经设置了缩放。每次这个图表是缩放我想运行一个函数,但我找不到一个事件,是在缩放触发。我查看了事件列表,我认为唯一可能起作用的是"AxisViewChanged",但是这是在许多更改上触发的,我不知道如何单独列出缩放更改。我是不是漏掉了什么变焦事件?或者这根本就不存在?

如何获得c#图表的缩放事件

你可以这样做

    double oldSelStart = -1;
    double oldSelEnd = -1;
    private void chart1_AxisViewChanged(object sender, ViewEventArgs e)
    {
        double newSelStart = chart1.ChartAreas["Default"].CursorX.SelectionStart;
        double newSelEnd = chart1.ChartAreas["Default"].CursorX.SelectionEnd;
        const double TOLERANCE = 0.1;
        if (Math.Abs(oldSelEnd - newSelEnd) > TOLERANCE || Math.Abs(newSelStart - oldSelStart) > TOLERANCE)
        {
            oldSelStart = newSelStart;
            oldSelEnd = newSelEnd;
            //Zoom has actually changed do your stuff
        }
    }

基本上,您记住旧的缩放范围并自己处理AxisViewChanged并确定缩放是否实际发生了变化