DataGridViewCellPaintingEventArgs 类

定义

CellPainting 事件提供数据。

C#
public class DataGridViewCellPaintingEventArgs : System.ComponentModel.HandledEventArgs
继承
DataGridViewCellPaintingEventArgs

示例

下面的代码示例演示了此类型的用法。 有关详细信息,请参阅如何:自定义 Windows 窗体 DataGridView 控件中单元格的外观

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

注解

对于 CellPainting 在 上DataGridView可见的每个 DataGridViewCell ,都会引发 事件。 若要提高性能,请在 中 DataGridViewCellPaintingEventArgs 设置 属性以更改单元格的外观,而不是直接访问 中的 DataGridView单元格。 如果手动绘制单元格,请将 HandledEventArgs.Handled 属性设置为 true。 如果未将 设置为 HandledEventArgs.Handledtrue,则单元格将在自定义项上绘制。

构造函数

属性

AdvancedBorderStyle

获取当前 DataGridViewCell 的边框样式。

CellBounds

获取当前 DataGridViewCell 的边界。

CellStyle

获取当前 DataGridViewCell 的单元格样式。

ClipBounds

获取 DataGridView 中需要重新绘制的区域。

ColumnIndex

获取当前 DataGridViewCell 的列索引。

ErrorText

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

FormattedValue

获取当前 DataGridViewCell 的格式化值。

Graphics

获取用于绘制当前 GraphicsDataGridViewCell

Handled

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

(继承自 HandledEventArgs)
PaintParts

要绘制的单元格部分。

RowIndex

获取当前 DataGridViewCell 的行索引。

State

获取当前 DataGridViewCell 的状态。

Value

获取当前 DataGridViewCell 的值。

方法

Equals(Object)

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

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

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

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

PaintBackground(Rectangle, Boolean)

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

PaintContent(Rectangle)

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

ToString()

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

(继承自 Object)

适用于

产品 版本
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

另请参阅