0
我使用單個ZedGraphControl來顯示2條曲線,其中一條在主要YAxis上,另一條在Y2Axis上。我想這樣做是爲了當用戶手動放大數據時,只有YAxis上的比例發生變化。防止用戶縮放時Y2Axis發生變化ZedGraph
我找不到任何方法來鎖定Y2Axis實際上阻止變化的第一位。然後我想我可以撤消對AxisChangeEvent中軸的任何更改,但是再次調用此事件會導致無限循環。
我使用單個ZedGraphControl來顯示2條曲線,其中一條在主要YAxis上,另一條在Y2Axis上。我想這樣做是爲了當用戶手動放大數據時,只有YAxis上的比例發生變化。防止用戶縮放時Y2Axis發生變化ZedGraph
我找不到任何方法來鎖定Y2Axis實際上阻止變化的第一位。然後我想我可以撤消對AxisChangeEvent中軸的任何更改,但是再次調用此事件會導致無限循環。
在這個網站的典型方式中,我想出了一個答案,同時試圖正確地問這個問題。
我只是在我的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;
}
}
這種感覺很有點像一個黑客,我很樂意聽到任何其他可能的解決方案雖然。