private void userControl12_MouseDirectionChanged(object sender, MoyStick.MouseStickEventArgs e) { myStage.Stop(); ShowPosition(); }
private void userControl12_MouseStickMoved(object sender, MoyStick.MouseStickEventArgs e) { stbMouseStick.Text = "direction: " + e.Direction.ToString() + " magnitude: " + e.Magnitude.ToString(); double XPos = new double(); double YPos = new double(); double ZPos = new double(); double DeltaX = new double(); double DeltaY = new double(); if (_StageTimerDone == false) return; switch (e.Direction) { case MoyStick.cPoint.north: dY = e.Magnitude * (-1); dX = 0; break; case MoyStick.cPoint.northEast: dY = e.Magnitude * (-1); dX = e.Magnitude; break; case MoyStick.cPoint.east: dY = 0; dX = e.Magnitude; break; case MoyStick.cPoint.southEast: dY = e.Magnitude; dX = e.Magnitude; break; case MoyStick.cPoint.south: dY = e.Magnitude; dX = 0; break; case MoyStick.cPoint.southWest: dY = e.Magnitude; dX = e.Magnitude * (-1); break; case MoyStick.cPoint.west: dY = 0; dX = e.Magnitude * (-1); break; case MoyStick.cPoint.northWest: dY = e.Magnitude * (-1); dX = e.Magnitude * (-1); break; default: dY = 0; dX = 0; myStage.Stop(); return; break; } double mag = Math.Sqrt(dX * dX + dY * dY); if (mag == 0.0) return; _stageTimer.Interval = 250; _stageTimer.Start(); _StageTimerDone = false; myStage.GetPos(out XPos, out YPos, out ZPos); DeltaX = dX / 100.00; DeltaY = dY / 100.00; myStage.MoveTo(XPos + DeltaX, YPos + DeltaY, ZPos); // tbEvent.Text = "MouseStickMoved " + "Interation=" + _iter.ToString(); // _iter += 1; ShowPosition(); }