Exportar (0) Imprimir
Expandir Tudo
Expandir Minimizar
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Evento DataGridView.CellPainting

Ocorre quando uma célula deve ser desenhado.

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

public event DataGridViewCellPaintingEventHandler CellPainting

Você pode manipular esse evento para personalizar a aparência de células no controle.Você pode pintar células inteiras, você mesmo, ou partes específicas de pintura de células e usar o DataGridViewCellPaintingEventArgs.PaintBackground ou DataGridViewCellPaintingEventArgs.PaintContent métodos para pintar outras partes. Você também pode usar o VisualStyleRenderer classe para pintar controles padrão usando o tema corrente. Para mais informação, veja Controles de processamento com estilos visuais. Se você estiver usando Visual Studio 2005, você também tem acesso para uma biblioteca grande de imagens padrão que você pode usar com o DataGridView controle.

Para obter mais informações, consulte Biblioteca de imagens do Visual Studio 2005 e Biblioteca de imagens do Visual Studio 2008 e Biblioteca de imagens do Visual Studio.

Quando estiver manipulando esse evento, você deve acessar a célula por meio de parâmetros do manipulador de eventos, em vez de acessar diretamente na célula.

Para obter mais informações sobre tratamento eventos, consulte Consumindo Eventos.

O exemplo de código a seguir ilustra como usar esse evento para personalizar a aparência de todas as células em uma determinada coluna.

Este código faz parte de um exemplo maior disponível em Como: Personalizar a aparência de células em Controlarar Exibição em Grade de Dados do Windows Forms.

privatevoid 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;
            }
        }
    }
}


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

o.NET Framework e.NET Compact Framework não oferecem suporte a todas as versões de cada plataforma. Para obter uma lista de versões suportadas, consulte Requisitos de sistema do .NET framework.

.NET Framework

Compatível com: 3.5, 3.0, 2.0

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft