Esporta (0) Stampa
Espandi tutto
Espandi Riduci a icona
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Evento DataGridView.CellPainting

Si verifica quando una cella deve essere creata.

Spazio dei nomi:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public event DataGridViewCellPaintingEventHandler CellPainting

È possibile gestire questo evento per personalizzare l'aspetto delle celle del controllo. È possibile disegnare intere celle manualmente, o disegnare le parti specifiche delle celle e utilizzare i metodi di DataGridViewCellPaintingEventArgs.PaintContent o di DataGridViewCellPaintingEventArgs.PaintBackground per disegnare altre parti. È inoltre possibile utilizzare la classe di VisualStyleRenderer per disegnare i controlli standard utilizzando il tema corrente. Per ulteriori informazioni, vedere Rendering dei controlli con stili visivi. Se si utilizza Visual Studio 2005, anche si ha accesso a una vasta libreria di immagini standard che è possibile utilizzare con il controllo di DataGridView .

Per ulteriori informazioni, vedere Libreria di immagini di Visual Studio 2005 e Libreria di immagini di Visual Studio 2008 e Visual Studio (libreria di immagini).

Quando si gestisce questo evento, è necessario accedere alla cella con i parametri del gestore eventi, anziché direttamente la cella.

per ulteriori informazioni sugli eventi di gestione, vedere Utilizzo degli eventi.

In l ' esempio di codice seguente viene illustrato come utilizzare questo evento per personalizzare l'aspetto di tutte le celle nella colonna specifica.

Questo codice fa parte di un esempio più esaustivo disponibile in Procedura: personalizzare l'aspetto delle celle nel controllo DataGridView di Windows Form.


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


.NET Framework

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

.NET Framework Client Profile

Supportato 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 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft