本文档已存档,并且将不进行维护。

DataGridViewRowPrePaintEventArgs 类

RowPrePaint 事件提供数据。

命名空间: System.Windows.Forms
程序集: System.Windows.Forms(在 system.windows.forms.dll 中)

public class DataGridViewRowPrePaintEventArgs : HandledEventArgs
public class DataGridViewRowPrePaintEventArgs extends HandledEventArgs
public class DataGridViewRowPrePaintEventArgs extends HandledEventArgs
不适用。

DataGridView 控件上绘制行之前发生 RowPrePaint 事件。RowPrePaint 使您可以在绘制行中的任何单元格之前手动调整行的外观。这对于自定义行很有用,例如在一个行中使一个列的内容跨越多个列的情况下。使用 DataGridViewRowPrePaintEventArgs 中的属性无需直接访问 DataGridView 中的行就可以获取行的设置。

下面的代码示例演示如何处理 RowPrePaint 事件,以便为选定的单元格绘制自定义背景。此代码示例是 如何:自定义 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);
        }
    }
}

System.Object
   System.EventArgs
     System.ComponentModel.HandledEventArgs
      System.Windows.Forms.DataGridViewRowPrePaintEventArgs

此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

Windows Vista、Microsoft Windows XP SP2 和 Windows Server 2003 SP1 支持 Microsoft .NET Framework 3.0。

.NET Framework

受以下版本支持:3.0、2.0
显示: