protected override void OnPaintBackground(ElementPaintEventArgs e) { var bounds = new System.Drawing.Rectangle( e.Bounds.Left, e.Bounds.Top, e.Bounds.Width - 1, e.Bounds.Height - 1 ); for (int i = 1; i <= BorderWidth; i++) { double offset = (double)i / BorderWidth; var color = InterpolateBorderColor(offset); using (var pen = new System.Drawing.Pen(color, 1)) { e.Graphics.DrawRectangle( pen, bounds ); } bounds.Inflate(-1, -1); } }
protected override void OnPaint(ElementPaintEventArgs e) { base.OnPaint(e); var smoothingMode = e.Graphics.SmoothingMode; e.Graphics.SmoothingMode = SmoothingMode.AntiAlias; using (var brush = new System.Drawing.SolidBrush((System.Drawing.Color)Brush.Color)) { e.Graphics.FillEllipse( brush, (System.Drawing.Rectangle)e.Bounds ); } e.Graphics.SmoothingMode = smoothingMode; }
protected override void OnPaint(ElementPaintEventArgs e) { var bounds = (Rectangle)e.Bounds; if (bounds.Width == 0 || bounds.Height == 0) return; bool enabled = (_state & State.Enabled) != 0; bool toggled = enabled && (_state & State.Checked) != 0; bool down = enabled && (_state & State.Down) != 0; bool over = enabled && !down && (IsMouseDirectlyOver || (_state & State.Focused) != 0); System.Drawing.Color startColor; System.Drawing.Color endColor; System.Drawing.Color? borderColor = null; if (down) { startColor = ColorTable.ButtonPressedGradientBegin; endColor = ColorTable.ButtonPressedGradientEnd; borderColor = ColorTable.ButtonPressedBorder; } else if (over) { startColor = ColorTable.ButtonSelectedGradientBegin; endColor = ColorTable.ButtonSelectedGradientEnd; borderColor = ColorTable.ButtonPressedBorder; } else if (toggled) { startColor = ColorTable.ButtonCheckedGradientBegin; endColor = ColorTable.ButtonCheckedGradientEnd; borderColor = ColorTable.ButtonCheckedHighlightBorder; } else { startColor = ColorTable.ToolStripGradientBegin; endColor = ColorTable.ToolStripGradientEnd; } using (var brush = new LinearGradientBrush( bounds, startColor, endColor, LinearGradientMode.Horizontal )) { e.Graphics.FillRectangle(brush, bounds); } if (borderColor.HasValue) { using (var pen = new Pen(borderColor.Value)) { e.Graphics.DrawRectangle( pen, bounds.Left, bounds.Top, bounds.Width - 1, bounds.Height - 1 ); } } var bitmap = enabled ? _bitmap : _grayBitmap; if (bitmap != null) { e.Graphics.DrawImage( bitmap, bounds.X + (bounds.Width - bitmap.Width) / 2, bounds.Y + (bounds.Height - bitmap.Height) / 2 ); } }
protected override void OnPaint(ElementPaintEventArgs e) { var bounds = (Rectangle)e.Bounds; if (bounds.Width == 0 || bounds.Height == 0) { return; } bool enabled = (_state & State.Enabled) != 0; bool toggled = enabled && (_state & State.Checked) != 0; bool down = enabled && (_state & State.Down) != 0; bool over = enabled && !down && (IsMouseDirectlyOver || (_state & State.Focused) != 0); System.Drawing.Color startColor; System.Drawing.Color endColor; System.Drawing.Color?borderColor = null; if (down) { startColor = ColorTable.ButtonPressedGradientBegin; endColor = ColorTable.ButtonPressedGradientEnd; borderColor = ColorTable.ButtonPressedBorder; } else if (over) { startColor = ColorTable.ButtonSelectedGradientBegin; endColor = ColorTable.ButtonSelectedGradientEnd; borderColor = ColorTable.ButtonPressedBorder; } else if (toggled) { startColor = ColorTable.ButtonCheckedGradientBegin; endColor = ColorTable.ButtonCheckedGradientEnd; borderColor = ColorTable.ButtonCheckedHighlightBorder; } else { startColor = ColorTable.ToolStripGradientBegin; endColor = ColorTable.ToolStripGradientEnd; } using (var brush = new LinearGradientBrush( bounds, startColor, endColor, LinearGradientMode.Horizontal )) { e.Graphics.FillRectangle(brush, bounds); } if (borderColor.HasValue) { using (var pen = new Pen(borderColor.Value)) { e.Graphics.DrawRectangle( pen, bounds.Left, bounds.Top, bounds.Width - 1, bounds.Height - 1 ); } } var bitmap = enabled ? _bitmap : _grayBitmap; if (bitmap != null) { e.Graphics.DrawImage( bitmap, bounds.X + (bounds.Width - bitmap.Width) / 2, bounds.Y + (bounds.Height - bitmap.Height) / 2 ); } }