DataGridViewRowPrePaintEventArgs Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit des données pour l'événement RowPrePaint.
public ref class DataGridViewRowPrePaintEventArgs : System::ComponentModel::HandledEventArgs
public class DataGridViewRowPrePaintEventArgs : System.ComponentModel.HandledEventArgs
type DataGridViewRowPrePaintEventArgs = class
inherit HandledEventArgs
Public Class DataGridViewRowPrePaintEventArgs
Inherits HandledEventArgs
- Héritage
Exemples
L’exemple de code suivant montre comment gérer l’événement RowPrePaint pour dessiner un arrière-plan personnalisé pour les cellules sélectionnées. Cet exemple de code fait partie d’un exemple plus large fourni dans 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);
}
}
}
' 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
Remarques
L’événement RowPrePaint se produit avant qu’une ligne ne soit peinte sur un DataGridView contrôle. RowPrePaint vous permet d’ajuster manuellement l’apparence de la ligne avant que l’une des cellules de la ligne ne soit peinte. Cela est utile si vous souhaitez personnaliser la ligne, par exemple pour produire une ligne où le contenu d’une colonne s’étend sur plusieurs colonnes. Utilisez les propriétés dans DataGridViewRowPrePaintEventArgs pour obtenir les paramètres de la ligne sans accéder directement à la ligne dans le DataGridView.
Constructeurs
Propriétés
ClipBounds |
Obtient ou définit la zone de DataGridView qui doit être repeinte. |
ErrorText |
Obtient une chaîne qui représente un message d'erreur pour le DataGridViewRow actif. |
Graphics |
Obtient le Graphics utilisé pour peindre le DataGridViewRow actif. |
Handled |
Obtient ou définit une valeur qui indique si le gestionnaire d'événements a complètement géré l'événement ou si le système doit continuer son propre traitement. (Hérité de HandledEventArgs) |
InheritedRowStyle |
Obtient le style de cellule appliqué à la ligne. |
IsFirstDisplayedRow |
Obtient une valeur indiquant si la ligne active est la première ligne actuellement affichée dans DataGridView. |
IsLastVisibleRow |
Obtient une valeur indiquant si la ligne active est la dernière ligne visible dans DataGridView. |
PaintParts |
Parties de la cellule devant être peintes. |
RowBounds |
Obtient les limites du DataGridViewRow actif. |
RowIndex |
Obtient l'index du DataGridViewRow actif. |
State |
Obtient l'état du DataGridViewRow actif. |
Méthodes
DrawFocus(Rectangle, Boolean) |
Dessine le rectangle de focus autour des limites spécifiées. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
PaintCells(Rectangle, DataGridViewPaintParts) |
Peint les parties de cellule indiquées pour la zone contenue dans les limites spécifiées. |
PaintCellsBackground(Rectangle, Boolean) |
Peint l'arrière-plan de la cellule pour la zone contenue dans les limites spécifiées. |
PaintCellsContent(Rectangle) |
Peint le contenu de la cellule pour la zone contenue dans les limites spécifiées. |
PaintHeader(Boolean) |
Peint l'en-tête de ligne du DataGridViewRow actif. |
PaintHeader(DataGridViewPaintParts) |
Peint les parties spécifiées de l'en-tête de ligne pour la ligne active. |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |