protected override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); if (_linkState.HasFlag(ButtonState.Down)) { _linkState &= ~ButtonState.Down; Invalidate(_textBounds); if (_linkState.HasFlag(ButtonState.Over)) { PerformItemClick(); } return; } foreach (var button in _buttons) { if (button.State.HasFlag(ButtonState.Down)) { button.State &= ~ButtonState.Down; Capture = false; Invalidate(button.Bounds); if (button.State.HasFlag(ButtonState.Over)) { button.Action(); } return; } } }
protected override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); if (_linkState.HasFlag(ButtonState.Down)) { _linkState &= ~ButtonState.Down; Invalidate(_textBounds); if (_linkState.HasFlag(ButtonState.Over)) PerformItemClick(); return; } foreach (var button in _buttons) { if (button.State.HasFlag(ButtonState.Down)) { button.State &= ~ButtonState.Down; Capture = false; Invalidate(button.Bounds); if (button.State.HasFlag(ButtonState.Over)) button.Action(); return; } } }