ZedGraph PointEditEvent仅在一条曲线中

时间:2019-04-08 02:17:06

标签: c# zedgraph

我想在购物车中使用PointEditEvent。

但是我的购物车中有两条曲线,只能编辑一条。

如果检查错误曲线,我尝试取消事件。但是我不能这样做,因为它在操作完成后会着火。

在完成点编辑操作之后接收通知的委托。

string ZedGraphControl_PointEditEvent(ZedGraphControl sender, GraphPane pane, CurveItem curve, int iPt) {}

1 个答案:

答案 0 :(得分:0)

要执行此操作,您需要使用ZedGraph控件的MouseDownEvent和MouseUpEvent。在MouseDown事件中,您应该找到用FindNearestPoint单击的曲线,然后,如果需要,则找到曲线-启用水平和垂直编辑。在MouseUp事件中,您应该禁用编辑。

例如:

    private bool zedGraphControl_MouseDownEvent(ZedGraphControl sender, MouseEventArgs e)
    {
        var clickedPoint = new PointF(e.X, e.Y);
        var pane = zedGraphControl.MasterPane.FindPane(clickedPoint);
        if (pane == null) return false;
        int index;
        CurveItem outCurve;
        if (!pane.FindNearestPoint(new PointF(e.X, e.Y), out outCurve, out index)) return false;
        if (outCurve.Label.Text == "Needed curve")  //Here you check that user clicked on needed curve
        {
            zedGraphControl.IsEnableHEdit = true;
        }
        return false;
    }

    private bool zedGraphControl_MouseUpEvent(ZedGraphControl sender, MouseEventArgs e)
    {
        zedGraphControl.IsEnableHEdit = false;
        return false;
    }