Example #1
0
        protected override void OnMouseMove(MouseEventArgs e)
        {
            base.OnMouseMove(e);
            if (_currentGrip != null)
            {
                _currentGrip.Update?.Invoke((SizeF)(e.Location - _startDrag));
                _startDrag = _currentGrip.Location().Center;
                return;
            }

            var bounds = SizeBounds;
            var outer  = RectangleF.Inflate(bounds, GripPadding * 2);

            IsSizing = outer.Contains(e.Location) && !bounds.Contains(e.Location);
            var grip = GetGrip(e.Location);

            if (grip != _hoverGrip)
            {
                _hoverGrip = grip;
                ToolTip    = grip?.ToolTip;
                Invalidate();
            }
            Cursor = grip?.Cursor ?? Cursors.Default;
            Invalidate();
        }