internal override DialogResult Edit(dlgDrawings owner)
        {
            DialogResult  ret       = DialogResult.None;
            dlgEditBezier dlgBezier = new dlgEditBezier();

            dlgBezier.LoadData(this, owner);
            ret = dlgBezier.ShowDialog(owner);
            return(ret);
        }
        protected override DialogResult dlgDrawingsMouseDown(object sender, MouseEventArgs e, ref int nStep, dlgDrawings owner)
        {
            dlgBezierStep dlgStep;

            switch (nStep)
            {
            case 0:                    //
                ptStart.X = e.X;
                ptStart.Y = e.Y;
                nStep++;
                break;

            case 1:                    //
                ptEnd.X = e.X;
                ptEnd.Y = e.Y;
                nStep++;
                break;

            case 2:                    //
                ptControl1.X = e.X;
                ptControl1.Y = e.Y;
                nStep++;
                break;

            case 3:                    //
                ptControl2.X = e.X;
                ptControl2.Y = e.Y;
                nStep++;
                break;
            }
            dlgStep = new dlgBezierStep();
            dlgStep.SetStep(nStep);
            dlgStep.ShowDialog((Form)sender);
            if (dlgStep.nStep < 0)
            {
                return(DialogResult.Cancel);
            }
            else if (dlgStep.nStep >= 10)
            {
                owner.Invalidate();
                dlgEditBezier dlgBezier = new dlgEditBezier();
                dlgBezier.LoadData(this, owner);
                return(dlgBezier.ShowDialog(owner));
            }
            else
            {
                nStep = dlgStep.nStep;
            }
            step = nStep;
            return(DialogResult.None);
        }