Вы можете просто добавить обработчик событий в Paint
.
представления сетки.
Если вы хотите сделать больше, чем просто цвет, мы пошли по пути наследования от DataGridViewCell
и переопределения его метода Paint, наследуя от DataGridViewColumn
, чтобы использовать эту ячейку, а затем использовать этот столбец в нашем сеточном представлении.
Ниже приведен переопределенный метод, но обработчик событий будет выглядеть аналогично.
protected override void Paint(Graphics graphics,
Rectangle clipBounds, Rectangle cellBounds,
int rowIndex, DataGridViewElementStates cellState, object value, object
formattedValue, string errorText, DataGridViewCellStyle cellStyle,
DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts
paintParts)
{
if ((value as WhatEverType).WhatEverField == 9)
{
cellStyle.ForeColor = Color.CornflowerBlue;
}
base.Paint(graphics, clipBounds, cellBounds, rowIndex, cellState, value, formattedValue, errorText, cellStyle, advancedBorderStyle, paintParts);
}