private void _unset_2d_mode()
 {
     if (_fpbm != FractalPictureBoxMode._2DViewer) return;
     _fpbm =FractalPictureBoxMode.none;
     Paint -= (o, e) =>
     {
         _draw_selection_rect(e.Graphics, _first_mouse_point, _second_mouse_point);
     };
     MouseDown -= _onmousedown_worker;
     MouseUp -= _onmouseup_worker;
     MouseMove -= (o, e) => { _second_mouse_point = e.Location; Invalidate(); };
     MouseLeave -= (o, e) => { _is_mouse_into = false; };
     MouseEnter -= (o, e) => { _is_mouse_into = true; };
 }
 private void _set_click_mode()
 {
     if (_fpbm == FractalPictureBoxMode.clickmode) return;
     _fpbm = FractalPictureBoxMode.clickmode;
     _click_pt = new Point();
     Paint += (o, e) =>
     {
         if (_click_pt.X <0 && _click_pt.Y <0) return;
     _draw_inverse_color_vertical_line(new Point(_click_pt.X,0),new Point(_click_pt.X,Height),e.Graphics);
     _draw_inverse_color_horizontal_line(new Point(0, _click_pt.Y), new Point(Width, _click_pt.Y),e.Graphics);
     };
     MouseMove += _mouse_move_clmode;
 }