public static void DrawHeader(Graphics g, Rectangle bounds, int headerState)
            {
                VisualStyleRenderer.SetParameters(s_headerElement.ClassName, s_headerElement.Part, headerState);
                VisualStyleRenderer.DrawBackground(g, bounds, Rectangle.Truncate(g.ClipBounds));

                ControlPaint.EnforceHeaderCellDividerContrast(g, bounds);
            }
            public static void DrawHeader(Graphics g, Rectangle bounds, int headerState)
            {
                Rectangle rectClip = Rectangle.Truncate(g.ClipBounds);

                if ((int)HeaderItemState.Hot == headerState)
                {
                    // Workaround for a
                    VisualStyleRenderer.SetParameters(s_headerElement);
                    Rectangle cornerClip = new Rectangle(bounds.Left, bounds.Bottom - 2, 2, 2);
                    cornerClip.Intersect(rectClip);
                    VisualStyleRenderer.DrawBackground(g, bounds, cornerClip);
                    cornerClip = new Rectangle(bounds.Right - 2, bounds.Bottom - 2, 2, 2);
                    cornerClip.Intersect(rectClip);
                    VisualStyleRenderer.DrawBackground(g, bounds, cornerClip);
                }

                VisualStyleRenderer.SetParameters(s_headerElement.ClassName, s_headerElement.Part, headerState);
                VisualStyleRenderer.DrawBackground(g, bounds, rectClip);

                ControlPaint.EnforceHeaderCellDividerContrast(g, bounds);
            }