DataGridViewPaintParts Enumeration
TOC
Collapse the table of content
Expand the table of content

DataGridViewPaintParts Enumeration

 

Defines values for specifying the parts of a DataGridViewCell that are to be painted.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

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

[FlagsAttribute]
public enum DataGridViewPaintParts

Member nameDescription
All

All parts of the cell should be painted.

Background

The background of the cell should be painted.

Border

The border of the cell should be painted.

ContentBackground

The background of the cell content should be painted.

ContentForeground

The foreground of the cell content should be painted.

ErrorIcon

The cell error icon should be painted.

Focus

The focus rectangle should be painted around the cell.

None

Nothing should be painted.

SelectionBackground

The background of the cell should be painted when the cell is selected.

This enumeration is used by the protected DataGridViewCell.Paint method and by handlers for the CellPainting, RowPrePaint, and RowPostPaint events of the DataGridView control.

The following code example illustrates the use of this type. This example is part of a larger example available in How to: Customize the Appearance of Rows in the Windows Forms DataGridView Control.

// Paints the custom selection background for selected rows.
void dataGridView1_RowPrePaint(object sender,
        DataGridViewRowPrePaintEventArgs e)
{
    // Do not automatically paint the focus rectangle.
    e.PaintParts &= ~DataGridViewPaintParts.Focus;

    // Determine whether the cell should be painted
    // with the custom selection background.
    if ((e.State & DataGridViewElementStates.Selected) ==
                DataGridViewElementStates.Selected)
    {
        // Calculate the bounds of the row.
        Rectangle rowBounds = new Rectangle(
            this.dataGridView1.RowHeadersWidth, e.RowBounds.Top,
            this.dataGridView1.Columns.GetColumnsWidth(
                DataGridViewElementStates.Visible) -
            this.dataGridView1.HorizontalScrollingOffset + 1,
            e.RowBounds.Height);

        // Paint the custom selection background.
        using (Brush backbrush =
            new System.Drawing.Drawing2D.LinearGradientBrush(rowBounds,
                this.dataGridView1.DefaultCellStyle.SelectionBackColor,
                e.InheritedRowStyle.ForeColor,
                System.Drawing.Drawing2D.LinearGradientMode.Horizontal))
        {
            e.Graphics.FillRectangle(backbrush, rowBounds);
        }
    }
}

.NET Framework
Available since 2.0
Return to top
Show:
© 2016 Microsoft