Поделиться через


DataGridViewCellPaintingEventArgs Класс

Определение

Предоставляет данные о событии CellPainting.

public ref class DataGridViewCellPaintingEventArgs : System::ComponentModel::HandledEventArgs
public class DataGridViewCellPaintingEventArgs : System.ComponentModel.HandledEventArgs
type DataGridViewCellPaintingEventArgs = class
    inherit HandledEventArgs
Public Class DataGridViewCellPaintingEventArgs
Inherits HandledEventArgs
Наследование
DataGridViewCellPaintingEventArgs

Примеры

В следующем примере кода показано использование этого типа. Дополнительные сведения см. в статье Практическое руководство. Настройка внешнего вида ячеек элемента управления DataGridView в Windows Forms.

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;
            }
        }
    }
}
Private Sub dataGridView1_CellPainting(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) _
    Handles dataGridView1.CellPainting

    If Me.dataGridView1.Columns("ContactName").Index = _
        e.ColumnIndex AndAlso e.RowIndex >= 0 Then

        Dim newRect As New Rectangle(e.CellBounds.X + 1, e.CellBounds.Y + 1, _
            e.CellBounds.Width - 4, e.CellBounds.Height - 4)
        Dim backColorBrush As New SolidBrush(e.CellStyle.BackColor)
        Dim gridBrush As New SolidBrush(Me.dataGridView1.GridColor)
        Dim gridLinePen As New Pen(gridBrush)

        Try

            ' 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 IsNot Nothing) Then
                e.Graphics.DrawString(CStr(e.Value), e.CellStyle.Font, _
                Brushes.Crimson, e.CellBounds.X + 2, e.CellBounds.Y + 2, _
                StringFormat.GenericDefault)
            End If
            e.Handled = True

        Finally
            gridLinePen.Dispose()
            gridBrush.Dispose()
            backColorBrush.Dispose()
        End Try

    End If

End Sub

Комментарии

Событие CellPainting вызывается для каждого DataGridViewCell объекта , видимого DataGridViewв . Чтобы повысить производительность, задайте свойства в , DataGridViewCellPaintingEventArgs чтобы изменить внешний вид ячейки, а не напрямую обращаться к ячейке DataGridViewв . Если ячейка закрашина вручную, задайте для HandledEventArgs.Handled свойства значение true. Если не задать значение HandledEventArgs.Handledtrue, ячейка будет закрашивать ваши настройки.

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

DataGridViewCellPaintingEventArgs(DataGridView, Graphics, Rectangle, Rectangle, Int32, Int32, DataGridViewElementStates, Object, Object, String, DataGridViewCellStyle, DataGridViewAdvancedBorderStyle, DataGridViewPaintParts)

Инициализирует новый экземпляр класса DataGridViewCellPaintingEventArgs.

Свойства

AdvancedBorderStyle

Получает стиль границы текущей ячейки DataGridViewCell.

CellBounds

Получает границы текущей ячейки DataGridViewCell.

CellStyle

Получает стиль ячейки текущего объекта DataGridViewCell.

ClipBounds

Получает область объекта DataGridView, которую требуется перекрасить.

ColumnIndex

Получает индекс столбца текущей ячейки DataGridViewCell.

ErrorText

Получает строковое значение, которое представляет сообщение об ошибке для текущей ячейки DataGridViewCell.

FormattedValue

Получает форматированное значение текущей ячейки DataGridViewCell.

Graphics

Получает объект Graphics, используемый для закрашивания текущей ячейки DataGridViewCell.

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)

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

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