0

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

我找不到任何方法来锁定 Y2Axis 实际上首先防止更改。然后我认为我可以撤消对AxisChangeEvent中的轴的任何更改,但再次更改此事件的调用,从而导致无限循环。

4

1 回答 1

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;
        }
    }

这感觉有点像 hack,不过我很想听听任何其他可能的解决方案。

于 2013-03-12T14:35:38.843 回答