private void MapUserControl_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { if (app.EditObject != null) { EditObject editObject = app.EditObject; if (e.Control) { switch (e.KeyCode) { case Keys.Up: case Keys.Right: editObject.Prev(); editObject.CheckRepaint(); return; case Keys.Down: case Keys.Left: editObject.Next(); editObject.CheckRepaint(); return; } } else if (e.Shift) { switch (e.KeyCode) { case Keys.Left: editObject.MovePoint(Direction.Left, map); return; case Keys.Right: editObject.MovePoint(Direction.Right, map); return; case Keys.Up: editObject.MovePoint(Direction.Top, map); return; case Keys.Down: editObject.MovePoint(Direction.Bottom, map); return; case Keys.Home: editObject.MovePoint(Direction.LeftTop, map); return; case Keys.PageUp: editObject.MovePoint(Direction.RightTop, map); return; case Keys.End: editObject.MovePoint(Direction.LeftBottom, map); return; case Keys.PageDown: editObject.MovePoint(Direction.RightBottom, map); return; } } switch (e.KeyCode) { case Keys.Delete: editObject.DeletePoint(); return; } } switch (e.KeyCode) { case Keys.Left: Move(Direction.Left); break; case Keys.Right: Move(Direction.Right); break; case Keys.Up: Move(Direction.Top); break; case Keys.Down: Move(Direction.Bottom); break; case Keys.Home: Move(Direction.LeftTop); break; case Keys.PageUp: Move(Direction.RightTop); break; case Keys.End: Move(Direction.LeftBottom); break; case Keys.PageDown: Move(Direction.RightBottom); break; case Keys.Add: ScaleUp(); break; case Keys.Subtract: ScaleDown(); break; case Keys.Escape: EndEditing(); break; } }