Back to Devexpress

GridControl.PaintEx Event

windowsforms-devexpress-dot-xtragrid-dot-gridcontrol-02980f69.md

latest6.1 KB
Original Source

GridControl.PaintEx Event

A DirectX-compatible method that replaces the standard Control.Paint method.

Namespace : DevExpress.XtraGrid

Assembly : DevExpress.XtraGrid.v25.2.dll

NuGet Packages : DevExpress.Win.Grid, DevExpress.Win.Navigation

Declaration

csharp
public event PaintExEventHandler PaintEx
vb
Public Event PaintEx As PaintExEventHandler

Event Data

The PaintEx event's data class is DevExpress.XtraGrid.PaintExEventArgs.

Remarks

When handling the PaintEx event, use the DirectX-compatible API accessible through the e.Cache field rather then the standard e.Graphics API.

Example

This example draws a thick border around a grid cell under the mouse pointer.

View Example

csharp
private void GridControl_PaintEx(object sender, DevExpress.XtraGrid.PaintExEventArgs e) {
    DrawHotTrackedCell(e.Cache);
}

private void DrawHotTrackedCell(GraphicsCache cache) {
    Rectangle bounds = GetCellBounds(HotTrackedCell);
    cache.DrawRectangle(new Pen(Brushes.Black, _BorderWidth), bounds);
}
vb
Private Sub GridControl_PaintEx(ByVal sender As Object, ByVal e As DevExpress.XtraGrid.PaintExEventArgs)
    DrawHotTrackedCell(e.Cache)
End Sub

Private Sub DrawHotTrackedCell(ByVal cache As GraphicsCache)
    Dim bounds As Rectangle = GetCellBounds(HotTrackedCell)
    cache.DrawRectangle(New Pen(Brushes.Black, _BorderWidth), bounds)
End Sub

The following code snippets (auto-collected from DevExpress Examples) contain references to the PaintEx event.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

winforms-grid-copy-cell-value-to-other-cells-by-dragging-its-right-bottom-edge/CS/Classes/SelectedCellsBorderHelper.cs#L22

csharp
_GridView = gridView;
    gridView.GridControl.PaintEx += GridControl_PaintEx;
}

winforms-grid-draw-thick-cell-border-directx/CS/Form1.cs#L45

csharp
_View = view;
view.GridControl.PaintEx += GridControl_PaintEx;
view.MouseMove += new MouseEventHandler(view_MouseMove);

winforms-grid-hide-vertical-lines-between-certain-columns/CS/E3647/ColumnLineHelper.cs#L44

csharp
grid = gridView.GridControl;
grid.PaintEx += Grid_PaintEx;
columnList = new List<GridColumn>();

winforms-grid-display-custom-rows/CS/CustomRowInGrid/CustomRowInGrid/BlankItem.cs#L26

csharp
View = view;
view.GridControl.PaintEx += GridControl_PaintEx;
View.ShowingEditor+=new CancelEventHandler(View_ShowingEditor);

winforms-grid-copy-cell-value-to-other-cells-by-dragging-its-right-bottom-edge/VB/Classes/SelectedCellsBorderHelper.vb#L20

vb
_GridView = gridView
    AddHandler gridView.GridControl.PaintEx, AddressOf GridControl_PaintEx
End Sub

winforms-grid-draw-thick-cell-border-directx/VB/Form1.vb#L42

vb
_View = view
AddHandler view.GridControl.PaintEx, AddressOf GridControl_PaintEx
AddHandler view.MouseMove, AddressOf view_MouseMove

winforms-grid-hide-vertical-lines-between-certain-columns/VB/E3647/ColumnLineHelper.vb#L44

vb
grid = gridView.GridControl
AddHandler grid.PaintEx, AddressOf Grid_PaintEx
columnList = New List(Of GridColumn)()

winforms-grid-display-custom-rows/VB/CustomRowInGrid/BlankItem.vb#L23

vb
Me.View = view
AddHandler view.GridControl.PaintEx, AddressOf GridControl_PaintEx
AddHandler Me.View.ShowingEditor, AddressOf View_ShowingEditor

See Also

GridControl Class

GridControl Members

DevExpress.XtraGrid Namespace