private void HandleMouse(MouseEventArgs e) { if (chkDirectMode.Checked && _mouseService != null) { var scaleX = (double)e.X / pnlMouse.Width; var scaleY = (double)e.Y / pnlMouse.Height; var relX = scaleX * _maxX; var relY = scaleY * _maxY; var dx = (int)relX - _posX; var dy = (int)relY - _posY; _posX = Math.Min(_posX + dx, _maxX); _posY = Math.Min(_posY + dy, _maxY); lblPos.Text = $"Pos: {_posX}, {_posY}"; //var cx = flowPanel.Width / 2; //var cy = flowPanel.Height / 2; //var dx = (e.X - cx) / 10; //var dy = (e.Y - cy) / 10; _mouseService.Move(dx, dy); } }