public override void OnDraw(Graphics g) { Color thumbColor; if (IsDragging || form.ShapeManager.IsPanning || IsCursorHover) { thumbColor = ActiveThumbColor; } else { thumbColor = ThumbColor; } using (Brush trackBrush = new SolidBrush(TrackColor)) using (Brush thumbBrush = new SolidBrush(thumbColor)) { Matrix savedTransform = g.Transform; form.ZoomTransform(g, true); if (IsCapsule) { g.SmoothingMode = SmoothingMode.HighQuality; g.PixelOffsetMode = PixelOffsetMode.Half; g.DrawCapsule(trackBrush, Rectangle); g.DrawCapsule(thumbBrush, ThumbRectangle); g.SmoothingMode = SmoothingMode.None; g.PixelOffsetMode = PixelOffsetMode.Default; } else { g.FillRectangle(trackBrush, Rectangle); g.FillRectangle(thumbBrush, ThumbRectangle); } g.Transform = savedTransform; } }