Example #1
0
        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);
            }
        }
Example #2
0
        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;
        }
Example #3
0
        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
                );
            }
        }
Example #4
0
        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
                    );
            }
        }