Back to Devexpress

WinExplorerView.CustomDrawItem Event

windowsforms-devexpress-dot-xtragrid-dot-views-dot-winexplorer-dot-winexplorerview-7eeaeba7.md

latest3.1 KB
Original Source

WinExplorerView.CustomDrawItem Event

Allows you to manually repaint a WinExplorerView item.

Namespace : DevExpress.XtraGrid.Views.WinExplorer

Assembly : DevExpress.XtraGrid.v25.2.dll

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

Declaration

csharp
[DXCategory("CustomDraw")]
public event WinExplorerViewCustomDrawItemEventHandler CustomDrawItem
vb
<DXCategory("CustomDraw")>
Public Event CustomDrawItem As WinExplorerViewCustomDrawItemEventHandler

Event Data

The CustomDrawItem event's data class is DevExpress.XtraGrid.Views.WinExplorer.WinExplorerViewCustomDrawItemEventArgs.

Remarks

Handle the CustomDrawItem event and use its e.Graphics and e.Cache methods to re-paint individual WinExplorerView items.

The sample below illustrates how to draw a colored triangle in the top right corner of WinExplorerView items.

csharp
Color triangleColor = Color.DodgerBlue;
private void WinExplorerView1_CustomDrawItem(object sender, WinExplorerViewCustomDrawItemEventArgs e)
{
    List<Point> cornerTriangle = new List<Point>();
    int tempLength = 50;
    cornerTriangle.Add(new Point(e.Bounds.Width + e.Bounds.X - tempLength, e.Bounds.Y));
    cornerTriangle.Add(new Point(e.Bounds.Width + e.Bounds.X, e.Bounds.Y));
    cornerTriangle.Add(new Point(e.Bounds.Width + e.Bounds.X, tempLength + e.Bounds.Y));
    e.Draw();
    e.Cache.FillPolygon(cornerTriangle.ToArray(), triangleColor);
    e.Handled = true;
}
vb
Private triangleColor As Color = Color.DodgerBlue
Private Sub WinExplorerView1_CustomDrawItem(ByVal sender As Object, ByVal e As WinExplorerViewCustomDrawItemEventArgs)
    Dim cornerTriangle As New List(Of Point)()
    Dim tempLength As Integer = 50
    cornerTriangle.Add(New Point(e.Bounds.Width + e.Bounds.X - tempLength, e.Bounds.Y))
    cornerTriangle.Add(New Point(e.Bounds.Width + e.Bounds.X, e.Bounds.Y))
    cornerTriangle.Add(New Point(e.Bounds.Width + e.Bounds.X, tempLength + e.Bounds.Y))
    e.Draw()
    e.Cache.FillPolygon(cornerTriangle.ToArray(), triangleColor)
    e.Handled = True
End Sub

See Also

WinExplorerView Class

WinExplorerView Members

DevExpress.XtraGrid.Views.WinExplorer Namespace