Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

TreeList.CustomDrawScroll Event

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

Namespace: DevExpress.XtraTreeList

Assembly: DevExpress.XtraTreeList.v24.2.dll

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

#Declaration

[DXCategory("Events")]
public event EventHandler<ScrollBarCustomDrawEventArgs> CustomDrawScroll

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

private void treeList1_CustomDrawScroll(object sender, DevExpress.XtraEditors.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;
}

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 the two previous methods;

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

using DevExpress.XtraEditors;

private void treeList1_CustomDrawScroll(object sender, DevExpress.XtraEditors.ScrollBarCustomDrawEventArgs e) {
    if (!e.Horizontal) {
        e.HighlightPosition(0, Color.Green, Alignment.Far);
        e.HighlightRegion(10, 10, Color.Blue, Alignment.Center);
    }
}
See Also