public void OnMouseMove(object sender, MouseEventArgs e) { if (ButtonState.IsDrag) { if (ButtonDragMove != null) { ButtonDragMove(sender, e); } } else if (!ButtonState.IsInactive && !ButtonState.IsSingleClick) { if (ShouldIgnoreMovement(e)) { return; } ButtonState.SetDrag(); _timerDoubleClick.Stop(); _timerHeldClick.Stop(); if (ButtonDragStart != null) { MouseManagerEventArgs eventArgs = ButtonState.BuildEventArgs(); eventArgs.End = eventArgs.Start; ButtonDragStart(this, eventArgs); } } }
public void OnMouseLeave(object sender, MouseEventArgs e) { if (!ButtonState.IsDrag && !ButtonState.IsInactive && !ButtonState.IsSingleClick) { ButtonState.SetDrag(); _timerDoubleClick.Stop(); _timerHeldClick.Stop(); if (ButtonDragStart != null) { MouseManagerEventArgs eventArgs = ButtonState.BuildEventArgs(); eventArgs.End = eventArgs.Start; ButtonDragStart(this, eventArgs); } } }