DataGridViewRowPrePaintEventArgs Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce i dati per l'evento RowPrePaint.
public ref class DataGridViewRowPrePaintEventArgs : System::ComponentModel::HandledEventArgs
public class DataGridViewRowPrePaintEventArgs : System.ComponentModel.HandledEventArgs
type DataGridViewRowPrePaintEventArgs = class
inherit HandledEventArgs
Public Class DataGridViewRowPrePaintEventArgs
Inherits HandledEventArgs
- Ereditarietà
Esempio
Nell'esempio di codice seguente viene illustrato come gestire l'evento RowPrePaint per disegnare uno sfondo personalizzato per le celle selezionate. Questo esempio di codice fa parte di un esempio più ampio fornito in Procedura: Personalizzare l'aspetto delle righe nel controllo DataGridView Windows Forms.
// 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);
}
}
}
' Paints the custom selection background for selected rows.
Sub dataGridView1_RowPrePaint(ByVal sender As Object, _
ByVal e As DataGridViewRowPrePaintEventArgs) _
Handles dataGridView1.RowPrePaint
' Do not automatically paint the focus rectangle.
e.PaintParts = e.PaintParts And Not DataGridViewPaintParts.Focus
' Determine whether the cell should be painted with the
' custom selection background.
If (e.State And DataGridViewElementStates.Selected) = _
DataGridViewElementStates.Selected Then
' Calculate the bounds of the row.
Dim rowBounds As New Rectangle( _
Me.dataGridView1.RowHeadersWidth, e.RowBounds.Top, _
Me.dataGridView1.Columns.GetColumnsWidth( _
DataGridViewElementStates.Visible) - _
Me.dataGridView1.HorizontalScrollingOffset + 1, _
e.RowBounds.Height)
' Paint the custom selection background.
Dim backbrush As New _
System.Drawing.Drawing2D.LinearGradientBrush(rowBounds, _
Me.dataGridView1.DefaultCellStyle.SelectionBackColor, _
e.InheritedRowStyle.ForeColor, _
System.Drawing.Drawing2D.LinearGradientMode.Horizontal)
Try
e.Graphics.FillRectangle(backbrush, rowBounds)
Finally
backbrush.Dispose()
End Try
End If
End Sub
Commenti
L'evento RowPrePaint si verifica prima che una riga venga disegnata su un DataGridView controllo . RowPrePaint consente di regolare manualmente l'aspetto della riga prima che una delle celle della riga venga disegnata. Ciò è utile se si desidera personalizzare la riga, ad esempio per produrre una riga in cui il contenuto di una colonna si estende su più colonne. Usare le proprietà in DataGridViewRowPrePaintEventArgs per ottenere le impostazioni della riga senza accedere direttamente alla riga in DataGridView.
Costruttori
Proprietà
ClipBounds |
Ottiene o imposta l'area del controllo DataGridView da ridisegnare. |
ErrorText |
Ottiene una stringa che rappresenta un messaggio di errore per il controllo DataGridViewRow corrente. |
Graphics |
Ottiene la struttura Graphics utilizzata per disegnare il controllo DataGridViewRow. |
Handled |
Ottiene o imposta un valore che indica se il gestore eventi ha gestito completamente l'evento o se il sistema deve proseguire la propria elaborazione. (Ereditato da HandledEventArgs) |
InheritedRowStyle |
Ottiene lo stile della cella applicato alla riga. |
IsFirstDisplayedRow |
Ottiene un valore che indica se la riga corrente è la prima riga attualmente visualizzata nel controllo DataGridView. |
IsLastVisibleRow |
Ottiene un valore che indica se la riga corrente è l'ultima riga visibile nel controllo DataGridView. |
PaintParts |
Parti della cella da disegnare. |
RowBounds |
Ottiene i limiti del controllo DataGridViewRow corrente. |
RowIndex |
Ottiene l'indice del controllo DataGridViewRow corrente. |
State |
Ottiene lo stato del controllo DataGridViewRow corrente. |
Metodi
DrawFocus(Rectangle, Boolean) |
Disegna il rettangolo di attivazione intorno ai limiti specificati. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
PaintCells(Rectangle, DataGridViewPaintParts) |
Disegna le parti della cella specificate per l'area compresa nei limiti specificati. |
PaintCellsBackground(Rectangle, Boolean) |
Disegna gli sfondi della cella per l'area compresa nei limiti specificati. |
PaintCellsContent(Rectangle) |
Disegna il contenuto della cella per l'area compresa nei limiti specificati. |
PaintHeader(Boolean) |
Disegna l'intera intestazione di riga del controllo DataGridViewRow corrente. |
PaintHeader(DataGridViewPaintParts) |
Disegna le parti specificate dell'intestazioni di riga della riga corrente. |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |