DataGridViewRowPrePaintEventArgs 类

定义

RowPrePaint 事件提供数据。

public ref class DataGridViewRowPrePaintEventArgs : System::ComponentModel::HandledEventArgs
public class DataGridViewRowPrePaintEventArgs : System.ComponentModel.HandledEventArgs
type DataGridViewRowPrePaintEventArgs = class
    inherit HandledEventArgs
Public Class DataGridViewRowPrePaintEventArgs
Inherits HandledEventArgs
继承
DataGridViewRowPrePaintEventArgs

示例

下面的代码示例演示如何处理 事件, RowPrePaint 为所选单元格绘制自定义背景。 此代码示例是 How to: Customize the Appearance of Rows in the Windows 窗体 DataGridView 控件中提供的更大示例的一部分。

// 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

注解

RowPrePaint 控件上 DataGridView 绘制行之前发生该事件。 RowPrePaint 使你能够在绘制行中的任何单元格之前手动调整行的外观。 如果要自定义行,例如生成一列内容跨多个列的行,这非常有用。 使用 中的 DataGridViewRowPrePaintEventArgs 属性获取行的设置,而无需直接访问 中的 DataGridView行。

构造函数

DataGridViewRowPrePaintEventArgs(DataGridView, Graphics, Rectangle, Rectangle, Int32, DataGridViewElementStates, String, DataGridViewCellStyle, Boolean, Boolean)

初始化 DataGridViewRowPrePaintEventArgs 类的新实例。

属性

ClipBounds

获取或设置需要重新绘制的 DataGridView 区域。

ErrorText

获取表示当前 DataGridViewRow 的错误消息的字符串。

Graphics

获取用于绘制当前 GraphicsDataGridViewRow

Handled

获取或设置一个值,该值指示事件处理程序是否已完整处理事件,或者系统是否应该继续本身的处理。

(继承自 HandledEventArgs)
InheritedRowStyle

获取应用于行的单元格样式。

IsFirstDisplayedRow

获取一个指示当前行是否为 DataGridView 中当前显示的第一行的值。

IsLastVisibleRow

获取一个指示当前行是否为 DataGridView 中最后一个可见行的值。

PaintParts

要绘制的单元格部分。

RowBounds

获取当前 DataGridViewRow 的边界。

RowIndex

获取当前 DataGridViewRow 的索引。

State

获取当前 DataGridViewRow 的状态。

方法

DrawFocus(Rectangle, Boolean)

围绕指定的边界绘制聚焦框。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
PaintCells(Rectangle, DataGridViewPaintParts)

为指定边界中的区域绘制指定的单元格部分。

PaintCellsBackground(Rectangle, Boolean)

为指定边界中的区域绘制单元格背景。

PaintCellsContent(Rectangle)

为指定边界中的区域绘制单元格内容。

PaintHeader(Boolean)

绘制当前 DataGridViewRow 的整个行标头。

PaintHeader(DataGridViewPaintParts)

绘制当前行的行标头的指定部分。

ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于

另请参阅