using System.Drawing; namespace System.Windows.Forms { public class FlatButtonAppearance { private ButtonBase owner; private int borderSize = 1; private Color borderColor = Color.Empty; private Color checkedBackColor = Color.Empty; private Color mouseDownBackColor = Color.Empty; private Color mouseOverBackColor = Color.Empty; public int BorderSize { get { return borderSize; } set { if (value < 0) { throw new ArgumentOutOfRangeException("BorderSize"); } if (borderSize != value) { borderSize = value; owner.control.BorderThickness = new Thickness(borderSize); owner.Invalidate(); } } } public Color BorderColor { get { return borderColor; } set { if (value.Equals(Color.Transparent)) { throw new NotSupportedException("ButtonFlatAppearanceInvalidBorderColor"); } if (borderColor != value) { borderColor = value; owner.Invalidate(); } } } public Color CheckedBackColor { get { return checkedBackColor; } set { if (checkedBackColor != value) { checkedBackColor = value; owner.Invalidate(); } } } public Color MouseDownBackColor { get { return mouseDownBackColor; } set { if (mouseDownBackColor != value) { mouseDownBackColor = value; owner.Invalidate(); } } } public Color MouseOverBackColor { get { return mouseOverBackColor; } set { if (mouseOverBackColor != value) { mouseOverBackColor = value; owner.Invalidate(); } } } internal FlatButtonAppearance(ButtonBase owner) { this.owner = owner; } } }