Export (0) Print
Expand All
Expand Minimize

DataGridViewCell.PaintBorder Method

Paints the border of the current DataGridViewCell.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

protected virtual void PaintBorder(
	Graphics graphics,
	Rectangle clipBounds,
	Rectangle bounds,
	DataGridViewCellStyle cellStyle,
	DataGridViewAdvancedBorderStyle advancedBorderStyle
)

Parameters

graphics
Type: System.Drawing.Graphics

The Graphics used to paint the border.

clipBounds
Type: System.Drawing.Rectangle

A Rectangle that represents the area of the DataGridView that needs to be repainted.

bounds
Type: System.Drawing.Rectangle

A Rectangle that contains the area of the border that is being painted.

cellStyle
Type: System.Windows.Forms.DataGridViewCellStyle

A DataGridViewCellStyle that contains formatting and style information about the current cell.

advancedBorderStyle
Type: System.Windows.Forms.DataGridViewAdvancedBorderStyle

A DataGridViewAdvancedBorderStyle that contains border styles of the border that is being painted.

The following code example illustrates the use of this method. This example is part of a larger example available in How to: Disable Buttons in a Button Column in the Windows Forms DataGridView Control.

protected override void Paint(Graphics graphics,
    Rectangle clipBounds, Rectangle cellBounds, int rowIndex,
    DataGridViewElementStates elementState, object value,
    object formattedValue, string errorText,
    DataGridViewCellStyle cellStyle,
    DataGridViewAdvancedBorderStyle advancedBorderStyle,
    DataGridViewPaintParts paintParts)
{
    // The button cell is disabled, so paint the border,   
    // background, and disabled button for the cell. 
    if (!this.enabledValue)
    {
        // Draw the cell background, if specified. 
        if ((paintParts & DataGridViewPaintParts.Background) ==
            DataGridViewPaintParts.Background)
        {
            SolidBrush cellBackground =
                new SolidBrush(cellStyle.BackColor);
            graphics.FillRectangle(cellBackground, cellBounds);
            cellBackground.Dispose();
        }

        // Draw the cell borders, if specified. 
        if ((paintParts & DataGridViewPaintParts.Border) ==
            DataGridViewPaintParts.Border)
        {
            PaintBorder(graphics, clipBounds, cellBounds, cellStyle,
                advancedBorderStyle);
        }

        // Calculate the area in which to draw the button.
        Rectangle buttonArea = cellBounds;
        Rectangle buttonAdjustment =
            this.BorderWidths(advancedBorderStyle);
        buttonArea.X += buttonAdjustment.X;
        buttonArea.Y += buttonAdjustment.Y;
        buttonArea.Height -= buttonAdjustment.Height;
        buttonArea.Width -= buttonAdjustment.Width;

        // Draw the disabled button.                
        ButtonRenderer.DrawButton(graphics, buttonArea,
            PushButtonState.Disabled);

        // Draw the disabled button text.  
        if (this.FormattedValue is String) 
        {
            TextRenderer.DrawText(graphics,
                (string)this.FormattedValue,
                this.DataGridView.Font,
                buttonArea, SystemColors.GrayText);
        }
    }
    else
    {
        // The button cell is enabled, so let the base class  
        // handle the painting. 
        base.Paint(graphics, clipBounds, cellBounds, rowIndex,
            elementState, value, formattedValue, errorText,
            cellStyle, advancedBorderStyle, paintParts);
    }
}

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft