/// <summary> /// Raises the <see cref="M:System.Windows.Forms.ButtonBase.OnPaint(System.Windows.Forms.PaintEventArgs)" /> event. /// </summary> /// <param name="pevent">A <see cref="T:System.Windows.Forms.PaintEventArgs" /> that contains the event data.</param> protected override void OnPaint(PaintEventArgs pevent) { TransInPaint(pevent.Graphics); var G = pevent.Graphics; G.SmoothingMode = SmoothingMode.AntiAlias; //G.Clear(Parent.BackColor); center = new Point(centerWidth / 2, 20 / 2); Point[] PolyGon1 = DrawHelper.CalculateVertices(sides, radius, startingAngle, center); EllipseBackColor = EllipseBG; EllipseBorderBackColor = EllipseBorder; G.FillPath(new SolidBrush(Color.FromArgb(115, Enabled ? Checked ? EllipseBackColor : enabledUnCheckedColor : enabledUnCheckedColor)), RoundedRectangle); G.DrawPath(new Pen(Color.FromArgb(50, Enabled ? Checked ? EllipseBackColor : enabledUnCheckedColor : enabledUnCheckedColor)), RoundedRectangle); switch (_drawType) { case DrawType.Circle: G.FillEllipse(new SolidBrush(Enabled ? Checked ? EllipseBackColor : circleInactiveColor : disabledEllipseBackColor), PointAnimationNum, 0, 18, 18); G.DrawEllipse(new Pen(Enabled ? Checked ? EllipseBorderBackColor : enabledUnCheckedEllipseBorderColor : disabledEllipseBorderBackColor), PointAnimationNum, 0, 18, 18); break; case DrawType.Rectangle: G.FillRectangle(new SolidBrush(Enabled ? Checked ? EllipseBackColor : circleInactiveColor : disabledEllipseBackColor), PointAnimationNum, 0 + 2, 14, 14); G.DrawRectangle(new Pen(Enabled ? Checked ? EllipseBorderBackColor : enabledUnCheckedEllipseBorderColor : disabledEllipseBorderBackColor), PointAnimationNum, 0 + 2, 14, 14); break; case DrawType.Polygon: G.FillPolygon(new SolidBrush(Enabled ? Checked ? EllipseBackColor : circleInactiveColor : disabledEllipseBackColor), PolyGon1); G.DrawPolygon(new Pen(Enabled ? Checked ? EllipseBorderBackColor : enabledUnCheckedEllipseBorderColor : disabledEllipseBorderBackColor), PolyGon1); break; } }