private void DrawBorders(Graphics g, Color baseColor)
        {
            Color light = baseColor.Lighter(.3F);
            Color dark = baseColor.Darker(.3F);
            Color topLeftColor = light;
            Color bottomRightColor = dark;
            if (_state.IsPressed())
            {
                topLeftColor = dark;
                bottomRightColor = light;
            }
            Pen topLeftPen = new Pen(topLeftColor);
            Pen bottomRightPen = new Pen(bottomRightColor);
            Pen middlePen = new Pen(baseColor);
            float l = Bounds.Left;
            float r = Bounds.Right;
            float t = Bounds.Top;
            float b = Bounds.Bottom;

            // Straight line parts
            g.DrawLine(topLeftPen, l + 1F, t, r - 1F, t);
            g.DrawLine(bottomRightPen, l + 1F, b, r - 1F, b);
            g.DrawLine(topLeftPen, l, t + 1F, l, b - 1F);
            g.DrawLine(bottomRightPen, r, t + 1F, r, b - 1F);

            // "rounded" corner lines
            g.DrawLine(topLeftPen, l, t + 2F, l + 2F, t);
            g.DrawLine(middlePen, r - 2F, t, r, t + 2F);
            g.DrawLine(middlePen, l, b - 2F, l + 2F, b);
            g.DrawLine(bottomRightPen, r, b - 2F, r - 2F, b);

            topLeftPen.Dispose();
            bottomRightPen.Dispose();
            middlePen.Dispose();
        }