using System.Drawing; using System.Drawing.Drawing2D; namespace WeifenLuo.WinFormsUI.Docking { public static class DrawingRoutines { public static void SafelyDrawLinearGradient(this Rectangle rectangle, Color startColor, Color endColor, LinearGradientMode mode, Graphics graphics, Blend blend = null) { if (rectangle.Width > 0 && rectangle.Height > 0) { using (LinearGradientBrush brush = new LinearGradientBrush(rectangle, startColor, endColor, mode)) { if (blend != null) { brush.Blend = blend; } graphics.FillRectangle(brush, rectangle); } } } public static void SafelyDrawLinearGradientF(this RectangleF rectangle, Color startColor, Color endColor, LinearGradientMode mode, Graphics graphics) { if (rectangle.Width > 0 && rectangle.Height > 0) { using (LinearGradientBrush brush = new LinearGradientBrush(rectangle, startColor, endColor, mode)) { graphics.FillRectangle(brush, rectangle); } } } } }