DataGridViewCellPaintingEventArgs Classe

Definição

Fornece dados para o CellPainting evento.

public ref class DataGridViewCellPaintingEventArgs : System::ComponentModel::HandledEventArgs
public class DataGridViewCellPaintingEventArgs : System.ComponentModel.HandledEventArgs
type DataGridViewCellPaintingEventArgs = class
    inherit HandledEventArgs
Public Class DataGridViewCellPaintingEventArgs
Inherits HandledEventArgs
Herança
DataGridViewCellPaintingEventArgs

Exemplos

O exemplo de código seguinte ilustra o uso deste tipo. Para obter mais informações, consulte Como personalizar a aparência das células no controle DataGridView do Windows Forms.

private void dataGridView1_CellPainting(object sender,
System.Windows.Forms.DataGridViewCellPaintingEventArgs e)
{
    if (this.dataGridView1.Columns["ContactName"].Index ==
        e.ColumnIndex && e.RowIndex >= 0)
    {
        Rectangle newRect = new Rectangle(e.CellBounds.X + 1,
            e.CellBounds.Y + 1, e.CellBounds.Width - 4,
            e.CellBounds.Height - 4);

        using (
            Brush gridBrush = new SolidBrush(this.dataGridView1.GridColor),
            backColorBrush = new SolidBrush(e.CellStyle.BackColor))
        {
            using (Pen gridLinePen = new Pen(gridBrush))
            {
                // Erase the cell.
                e.Graphics.FillRectangle(backColorBrush, e.CellBounds);

                // Draw the grid lines (only the right and bottom lines;
                // DataGridView takes care of the others).
                e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left,
                    e.CellBounds.Bottom - 1, e.CellBounds.Right - 1,
                    e.CellBounds.Bottom - 1);
                e.Graphics.DrawLine(gridLinePen, e.CellBounds.Right - 1,
                    e.CellBounds.Top, e.CellBounds.Right - 1,
                    e.CellBounds.Bottom);

                // Draw the inset highlight box.
                e.Graphics.DrawRectangle(Pens.Blue, newRect);

                // Draw the text content of the cell, ignoring alignment.
                if (e.Value != null)
                {
                    e.Graphics.DrawString((String)e.Value, e.CellStyle.Font,
                        Brushes.Crimson, e.CellBounds.X + 2,
                        e.CellBounds.Y + 2, StringFormat.GenericDefault);
                }
                e.Handled = true;
            }
        }
    }
}
Private Sub dataGridView1_CellPainting(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) _
    Handles dataGridView1.CellPainting

    If Me.dataGridView1.Columns("ContactName").Index = _
        e.ColumnIndex AndAlso e.RowIndex >= 0 Then

        Dim newRect As New Rectangle(e.CellBounds.X + 1, e.CellBounds.Y + 1, _
            e.CellBounds.Width - 4, e.CellBounds.Height - 4)
        Dim backColorBrush As New SolidBrush(e.CellStyle.BackColor)
        Dim gridBrush As New SolidBrush(Me.dataGridView1.GridColor)
        Dim gridLinePen As New Pen(gridBrush)

        Try

            ' Erase the cell.
            e.Graphics.FillRectangle(backColorBrush, e.CellBounds)

            ' Draw the grid lines (only the right and bottom lines;
            ' DataGridView takes care of the others).
            e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left, _
                e.CellBounds.Bottom - 1, e.CellBounds.Right - 1, _
                e.CellBounds.Bottom - 1)
            e.Graphics.DrawLine(gridLinePen, e.CellBounds.Right - 1, _
                e.CellBounds.Top, e.CellBounds.Right - 1, _
                e.CellBounds.Bottom)

            ' Draw the inset highlight box.
            e.Graphics.DrawRectangle(Pens.Blue, newRect)

            ' Draw the text content of the cell, ignoring alignment.
            If (e.Value IsNot Nothing) Then
                e.Graphics.DrawString(CStr(e.Value), e.CellStyle.Font, _
                Brushes.Crimson, e.CellBounds.X + 2, e.CellBounds.Y + 2, _
                StringFormat.GenericDefault)
            End If
            e.Handled = True

        Finally
            gridLinePen.Dispose()
            gridBrush.Dispose()
            backColorBrush.Dispose()
        End Try

    End If

End Sub

Observações

O CellPainting evento é elevado para cada DataGridViewCell que é visível num DataGridView. Para melhorar o desempenho, defina as propriedades em a DataGridViewCellPaintingEventArgs para alterar a aparência da célula em vez de aceder diretamente a uma célula no DataGridView. Se pintar manualmente a célula, defina a HandledEventArgs.Handled propriedade para true. Se não definires HandledEventArgs.Handled para true, a célula irá pintar sobre as tuas personalizações.

Construtores

Name Description
DataGridViewCellPaintingEventArgs(DataGridView, Graphics, Rectangle, Rectangle, Int32, Int32, DataGridViewElementStates, Object, Object, String, DataGridViewCellStyle, DataGridViewAdvancedBorderStyle, DataGridViewPaintParts)

Inicializa uma nova instância da DataGridViewCellPaintingEventArgs classe.

Propriedades

Name Description
AdvancedBorderStyle

Obtém o estilo de borda do atual DataGridViewCell.

CellBounds

Obtém os limites da corrente DataGridViewCell.

CellStyle

Obtém o estilo de célula da corrente DataGridViewCell.

ClipBounds

Fica com a área DataGridView que precisa de ser repintada.

ColumnIndex

Obtém o índice da coluna da corrente DataGridViewCell.

ErrorText

Obtém uma cadeia que representa uma mensagem de erro para a corrente DataGridViewCell.

FormattedValue

Obtém o valor formatado do atual DataGridViewCell.

Graphics

Obtém o Graphics usado para pintar a corrente DataGridViewCell.

Handled

Recebe ou define um valor que indica se o gestor de eventos tratou completamente o evento ou se o sistema deve continuar o seu próprio processamento.

(Herdado de HandledEventArgs)
PaintParts

As partes da célula que vão ser pintadas.

RowIndex

Obtém o índice de linha da corrente DataGridViewCell.

State

Obtém o estado da corrente DataGridViewCell.

Value

Obtém o valor da corrente DataGridViewCell.

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
Paint(Rectangle, DataGridViewPaintParts)

Pinta as partes especificadas da célula para a área dentro dos limites especificados.

PaintBackground(Rectangle, Boolean)

Pinta o fundo da célula para a área dentro dos limites especificados.

PaintContent(Rectangle)

Pinta o conteúdo da célula para a área dentro dos limites especificados.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também