private void GCodeUserControl_MouseUp(object sender, MouseEventArgs e) { if (_draggingType != EDraggingType.NoDragging) { switch (_draggingType) { case EDraggingType.Position: OffsetX = _bitmapDraw.OffsetX; OffsetY = _bitmapDraw.OffsetY; break; } Mouse.Capture(null); InvalidateVisual(); _draggingType = EDraggingType.NoDragging; } }
private void GCodeUserControl_MouseDown(object sender, MouseEventArgs e) { if (_draggingType == EDraggingType.NoDragging) { var mousePos = e.GetPosition(this); var pt = new System.Drawing.PointF((float)mousePos.X, (float)mousePos.Y); if (IsGotoPosKey()) { var gcoderotated = _bitmapDraw.FromClient(pt, 0.0); if (GotoPos != null && GotoPos.CanExecute(gcoderotated)) GotoPos.Execute(gcoderotated); } else { _mouseDownPos = mousePos; _mouseDownCNCPos = _bitmapDraw.FromClient(pt); _mouseDownCNCOffsetX = OffsetX; _mouseDownCNCOffsetY = OffsetY; _sw.Start(); Mouse.Capture(this); if (e.RightButton == MouseButtonState.Pressed) _draggingType = EDraggingType.RotateAngle; else _draggingType = EDraggingType.Position; } } }