Back to Devexpress

GridView.CustomDrawScroll Event

windowsforms-devexpress-dot-xtragrid-dot-views-dot-grid-dot-gridview-6888d204.md

latest3.7 KB
Original Source

GridView.CustomDrawScroll Event

Allows you to draw custom scrollbars, or highlight specific positions on the scrollbars.

Namespace : DevExpress.XtraGrid.Views.Grid

Assembly : DevExpress.XtraGrid.v25.2.dll

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

Declaration

csharp
[DXCategory("Events")]
public event EventHandler<ScrollBarCustomDrawEventArgs> CustomDrawScroll
vb
<DXCategory("Events")>
Public Event CustomDrawScroll As EventHandler(Of ScrollBarCustomDrawEventArgs)

Event Data

The CustomDrawScroll event's data class is DevExpress.XtraEditors.ScrollBarCustomDrawEventArgs.

Remarks

The CustomDrawScroll event allows you to draw custom scrollbars. The DefaultDraw method draws the default scrollbar. The Handled event argument must be set to true for the event handler to be in effect. The code below draws a custom thumb.

csharp
private void GridView_CustomDrawScroll(object sender, ScrollBarCustomDrawEventArgs e) {
    e.DefaultDraw();
    e.Cache.FillRectangle(e.Cache.GetSolidBrush(Color.White), e.ThumbBounds);
    e.Cache.DrawRectangle(e.Cache.GetPen(Color.Black), e.ThumbBounds);
    e.Handled = true;
}
vb
Private Sub gridView1_CustomDrawScroll(ByVal sender As Object, ByVal e As DevExpress.XtraEditors.ScrollBarCustomDrawEventArgs) _
    Handles gridView1.CustomDrawScroll
    e.DefaultDraw()
    e.Cache.FillRectangle(e.Cache.GetSolidBrush(Color.White), e.ThumbBounds)
    e.Cache.DrawRectangle(e.Cache.GetPen(Color.Black), e.ThumbBounds)
    e.Handled = True
End Sub

The following methods allow you to highlight specific positions on the scrollbars (draw custom scrollbar annotations).

  • HighlightPosition —draws a scrollbar annotation at the specified position (see ScrollBarBase.Value);
  • HighlightRegion —draws a scrollbar annotation at the specified positions;
  • ResetHighight —clears the scrollbar annotations created using two previous methods;

Custom scrollbar annotations are drawn even if the Handled event parameter is set to false.

csharp
private void GridView_CustomDrawScroll(object sender, ScrollBarCustomDrawEventArgs e) {
    if (!e.Horizontal) {
        e.HighlightPosition(0, Color.Green, Alignment.Far);
        e.HighlightRegion(10, 10, Color.Blue, Alignment.Center);
    }
}
vb
Private Sub gridView1_CustomDrawScroll(ByVal sender As Object, ByVal e As DevExpress.XtraEditors.ScrollBarCustomDrawEventArgs) _
    Handles gridView1.CustomDrawScroll
    If Not e.Horizontal Then
        e.HighlightPosition(0, Color.Green, Alignment.Far)
        e.HighlightRegion(10, 10, Color.Blue, Alignment.Center)
    End If
End Sub

See Also

Scrollbar Annotations

ScrollAnnotationsStyle

GridView Class

GridView Members

DevExpress.XtraGrid.Views.Grid Namespace