DataGridViewCellPaintingEventArgs DataGridViewCellPaintingEventArgs DataGridViewCellPaintingEventArgs DataGridViewCellPaintingEventArgs Class

Определение

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

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

Примеры

В следующем примере кода показано использование этого типа.The following code example illustrates the use of this type. Дополнительные сведения см. в разделе Практическое руководство. Настройка внешнего вида ячеек в элементе управленияWindows Forms DataGridView.For more information, see How to: Customize the Appearance of Cells in the Windows Forms DataGridView Control.

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

Комментарии

Событие вызывается для каждого DataGridViewCell DataGridView, видимого в. CellPaintingThe CellPainting event is raised for each DataGridViewCell that is visible on a DataGridView. Чтобы повысить производительность, задайте свойства в DataGridViewCellPaintingEventArgs , чтобы изменить внешний вид ячейки вместо прямого доступа к ячейке DataGridViewв.To improve performance, set the properties in a DataGridViewCellPaintingEventArgs to change the appearance of the cell instead of directly accessing a cell in the DataGridView. Если ячейка перерисовывается вручную, задайте HandledEventArgs.Handled для trueсвойства значение.If you manually paint the cell, set the HandledEventArgs.Handled property to true. Если значение не задано HandledEventArgs.Handled true, то в ячейке будут перерисовываться настройки.If you do not set HandledEventArgs.Handled to true, the cell will paint over your customizations.

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

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

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

Свойства

AdvancedBorderStyle AdvancedBorderStyle AdvancedBorderStyle AdvancedBorderStyle

Получает стиль границы текущей ячейки DataGridViewCell.Gets the border style of the current DataGridViewCell.

CellBounds CellBounds CellBounds CellBounds

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

CellStyle CellStyle CellStyle CellStyle

Получает стиль ячейки текущего объекта DataGridViewCell.Gets the cell style of the current DataGridViewCell.

ClipBounds ClipBounds ClipBounds ClipBounds

Получает область объекта DataGridView, которую требуется перекрасить.Gets the area of the DataGridView that needs to be repainted.

ColumnIndex ColumnIndex ColumnIndex ColumnIndex

Получает индекс столбца текущей ячейки DataGridViewCell.Gets the column index of the current DataGridViewCell.

ErrorText ErrorText ErrorText ErrorText

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

FormattedValue FormattedValue FormattedValue FormattedValue

Получает форматированное значение текущей ячейки DataGridViewCell.Gets the formatted value of the current DataGridViewCell.

Graphics Graphics Graphics Graphics

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

Handled Handled Handled 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.

(Inherited from HandledEventArgs)
PaintParts PaintParts PaintParts PaintParts

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

RowIndex RowIndex RowIndex RowIndex

Получает индекс строки текущей ячейки DataGridViewCell.Gets the row index of the current DataGridViewCell.

State State State State

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

Value Value Value Value

Получает значение текущей ячейки DataGridViewCell.Gets the value of the current DataGridViewCell.

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
Paint(Rectangle, DataGridViewPaintParts) Paint(Rectangle, DataGridViewPaintParts) Paint(Rectangle, DataGridViewPaintParts) Paint(Rectangle, DataGridViewPaintParts)

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

PaintBackground(Rectangle, Boolean) PaintBackground(Rectangle, Boolean) PaintBackground(Rectangle, Boolean) PaintBackground(Rectangle, Boolean)

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

PaintContent(Rectangle) PaintContent(Rectangle) PaintContent(Rectangle) PaintContent(Rectangle)

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

ToString() ToString() ToString() ToString()

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

(Inherited from Object)

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

Дополнительно