Skip to main content
All docs
V25.1
  • TabbedView.CustomDrawHeaderButton Event

    Allows you to draw a header button manually.

    Namespace: DevExpress.XtraBars.Docking2010.Views.Tabbed

    Assembly: DevExpress.XtraBars.v25.1.dll

    NuGet Package: DevExpress.Win.Navigation

    Declaration

    public event HeaderButtonCustomDrawEventHandler CustomDrawHeaderButton

    Event Data

    The CustomDrawHeaderButton event's data class is HeaderButtonCustomDrawEventArgs. The following properties provide information specific to this event:

    Property Description
    Bounds Gets the rectangle that specifies the bounds of the header button.
    Button Gets the button that is being drawn.
    Info Provides access to the object that contains information about the button being drawn.
    Painter Provides access to the object that performs paint operations. Inherited from ObjectCustomDrawEventArgs.

    Example

    The code below shows how to draw a custom background in tab headers and header buttons.

    image

    using System.Drawing.Drawing2D;
    
    HatchBrush myHatchBrush1 = new HatchBrush(HatchStyle.BackwardDiagonal, Color.LightGray, Color.AliceBlue);
    private void TabbedView_CustomDrawTabHeader(object sender, XtraTab.TabHeaderCustomDrawEventArgs e) {
        e.Cache.FillRectangle(myHatchBrush1, e.Bounds);
        e.DefaultDrawText();
        e.DefaultDrawImage();
        e.DefaultDrawButtons();
        e.Handled = true;
    }
    HatchBrush myHatchBrush2 = new HatchBrush(HatchStyle.DiagonalCross, Color.LightGray, Color.AliceBlue);
    private void TabbedView_CustomDrawHeaderButton(object sender, XtraTab.HeaderButtonCustomDrawEventArgs e) {
        e.Cache.FillRectangle(myHatchBrush2, e.Bounds);
        e.DefaultDraw();
        e.Handled = true;
    }
    

    The following example demonstrates how to obtain the bounds of a tab header and its UI elements, and the document itself:

    using System.Drawing.Drawing2D;
    
    private void TabbedView1_CustomDrawTabHeader(object sender, DevExpress.XtraTab.TabHeaderCustomDrawEventArgs e) {
        // Gets the document.
        var document = (e.TabHeaderInfo.Page as IDocumentInfo).Document;
        var tabHeaderBounds = e.Bounds;
        var textBounds = e.TabHeaderInfo.Text;
        var buttonBounds = e.TabHeaderInfo.ButtonsPanel.Bounds;
        /*
         * Draw the tab header and its UI elements.
         * ...
         */
    }
    
    See Also