0

1 つのZedGraphControlを使用して 2 つの曲線を表示しています。1 つはプライマリYAxisに、もう 1 つは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;
        }
    }

これはハックのように感じますが、他の可能な解決策を聞きたいです.

于 2013-03-12T14:35:38.843 に答える