我使用单个ZedGraphControl来显示2条曲线,一条在主要YAxis上,另一条在Y2Axis上。我想这样做,以便当用户手动放大数据时,只有YAxis上的比例会发生变化。
我找不到任何方法来锁定Y2Ax实际上阻止了第一个地方的变化。然后我想我可以在AxisChangeEvent中撤消对轴的任何更改,但是再次更改对此事件的调用,从而导致无限循环。
答案 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;
}
}
这感觉有点像黑客,我很想听到任何其他可能的解决方案。