DataGridViewRowPrePaintEventArgs Класс

Определение

Предоставляет данные для события RowPrePaint.Provides data for the RowPrePaint event.

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 события для рисования пользовательского фона для выбранных ячеек.The following code example demonstrates how to handle the RowPrePaint event to draw a custom background for selected cells. Этот пример кода является частью большого примера, приведенного в разделе как настроить внешний вид строк в элементе управления Windows Forms DataGridView.This code example is part of a larger example provided in 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

Комментарии

Это RowPrePaint событие возникает перед нарисованной строкой DataGridView элемента управления.The RowPrePaint event occurs before a row is painted on a DataGridView control. RowPrePaint позволяет вручную настроить внешний вид строки перед заголовком любой ячейки в строке.RowPrePaint enables you to manually adjust the appearance of the row before any of the cells in the row are painted. Это полезно, если необходимо настроить строку, например для создания строки, в которой содержимое одного столбца охватывает несколько столбцов.This is useful if you want to customize the row, such as to produce a row where the content of one column spans multiple columns. Используйте свойства в DataGridViewRowPrePaintEventArgs для получения параметров строки без прямого доступа к строке в DataGridView .Use the properties in DataGridViewRowPrePaintEventArgs to get the settings of the row without directly accessing the row in the DataGridView.

Конструкторы

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

Инициализирует новый экземпляр класса DataGridViewRowPrePaintEventArgs.Initializes a new instance of the DataGridViewRowPrePaintEventArgs class.

Свойства

ClipBounds

Получает или задает область объекта DataGridView, который должен быть повторно закрашен.Gets or sets the area of the DataGridView that needs to be repainted.

ErrorText

Получает строковое значение, которое представляет сообщение об ошибке для текущей ячейки DataGridViewRow.Gets a string that represents an error message for the current DataGridViewRow.

Graphics

Получает объект Graphics, используемый для закрашивания текущей ячейки DataGridViewRow.Gets the Graphics used to paint the current DataGridViewRow.

Handled

Получает или задает значение, показывающее, полностью ли обработчик событий обработал событие или система должна продолжить собственную обработку.Gets or sets a value that indicates whether the event handler has completely handled the event or whether the system should continue its own processing.

(Унаследовано от HandledEventArgs)
InheritedRowStyle

Возвращает стиль ячейки, примененный к строке.Gets the cell style applied to the row.

IsFirstDisplayedRow

Возвращает значение, указывающее, является ли текущая строка первой строкой, отображаемой в настоящее время в DataGridView.Gets a value indicating whether the current row is the first row currently displayed in the DataGridView.

IsLastVisibleRow

Возвращает значение, указывающее, является ли текущая строка последней видимой строкой в объекте DataGridView.Gets a value indicating whether the current row is the last visible row in the DataGridView.

PaintParts

Части ячейки, которые должны закрашиваться.The cell parts that are to be painted.

RowBounds

Получает границы текущей ячейки DataGridViewRow.Get the bounds of the current DataGridViewRow.

RowIndex

Получает индекс текущего объекта DataGridViewRow.Gets the index of the current DataGridViewRow.

State

Получает состояние текущей ячейки DataGridViewRow.Gets the state of the current DataGridViewRow.

Методы

DrawFocus(Rectangle, Boolean)

Отрисовывает прямоугольник фокуса вокруг указанных границ.Draws the focus rectangle around the specified bounds.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
PaintCells(Rectangle, DataGridViewPaintParts)

Закрашивает указанные части ячейки для области в заданных границах.Paints the specified cell parts for the area in the specified bounds.

PaintCellsBackground(Rectangle, Boolean)

Закрашивает фон ячейки для области в заданных границах.Paints the cell backgrounds for the area in the specified bounds.

PaintCellsContent(Rectangle)

Закрашивает содержимое ячейки для области в заданных границах.Paints the cell contents for the area in the specified bounds.

PaintHeader(Boolean)

Закрашивает весь заголовок текущей строки DataGridViewRow.Paints the entire row header of the current DataGridViewRow.

PaintHeader(DataGridViewPaintParts)

Закрашивает указанные части заголовка текущей строки.Paints the specified parts of the row header of the current row.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Применяется к

См. также раздел