当用户缩放ZedGraph时,防止Y2Axis发生变化

时间:2013-03-12 14:35:39

标签: c# zedgraph

我使用单个ZedGraphControl来显示2条曲线,一条在主要YAxis上,另一条在Y2Axis上。我想这样做,以便当用户手动放大数据时,只有YAxis上的比例会发生变化。

我找不到任何方法来锁定Y2Ax实际上阻止了第一个地方的变化。然后我想我可以在AxisChangeEvent中撤消对轴的任何更改,但是再次更改对此事件的调用,从而导致无限循环。

1 个答案:

答案 0 :(得分:0)

以这个网站的典型方式,我在尝试正确提问时提出了答案。

我只是在AxisChangeEvent的开头设置了一个布尔标志,以防止递归调用。然后重置Y2Axis的比例:

    private bool resizingAxis = false;

    void GraphPane_AxisChangeEvent(ZedGraph.GraphPane pane)
    {
        if (!resizingAxis)
        {
            resizingAxis = true;
            this.zedGraphControl1.GraphPane.Y2Axis.ResetAutoScale(pane, this.CreateGraphics());
            resizingAxis = false;
        }
    }

这感觉有点像黑客,我很想听到任何其他可能的解决方案。