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
- Наследование
Примеры
В следующем примере кода показано, как обрабатывать RowPrePaint событие для рисования пользовательского фона для выбранных ячеек. Этот пример кода является частью более крупного примера, предоставленного в разделе "Практическое руководство. Настройка внешнего вида строк в элементе управления DataGridView в Windows Forms".
// 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 |
Возвращает используемый Graphics для рисования текущего DataGridViewRow. |
| 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) |