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

XtraTabbedMdiManager.CustomDrawTabHeader Event

Allows you to draw a tab header manually.

Namespace: DevExpress.XtraTabbedMdi

Assembly: DevExpress.XtraBars.v24.2.dll

NuGet Package: DevExpress.Win.Navigation

#Declaration

[DXCategory("Appearance")]
public event TabHeaderCustomDrawEventHandler CustomDrawTabHeader

#Event Data

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

Property Description
Bounds Gets the rectangle that specifies the bounds of the tab header.
Cache Provides access to the drawing surface and a cache of pens, fonts, and brushes.
ControlInfo Gets an object that contains information about the tab being drawn.
Graphics Provides access to the drawing surface.
Handled Gets or sets whether the event is handled and prevents the default draw operation from being performed.
Painter Provides access to the object that performs paint operations.
TabHeaderInfo Provides access to the object that contains information about the page being drawn.
TabHeaderRowInfo Provides access to the object that contains information about the row being drawn.

The event data class exposes the following methods:

Method Description
DefaultDraw() Draws the visual element according to the default algorithm.
DefaultDrawBackground() Draws the visual element’s background according to the default algorithm.
DefaultDrawButtons() Draws the visual element’s buttons according to the default algorithm.
DefaultDrawImage() Draws the visual element’s icon according to the default algorithm.
DefaultDrawText() Draws the visual element’s text according to the default algorithm.
DrawHtml(HtmlTemplate, DxHtmlPainterContext, Action<DxHtmlPainterArgs>) Paints the required HTML template inside an element that raised this event. The context parameter allows you to assign an object that transfers mouse events to template elements.
DrawHtml(HtmlTemplate, Action<DxHtmlPainterArgs>) Paints the required HTML template inside an element that raised this event.

#Example

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

image

using System.Drawing.Drawing2D;

HatchBrush myHatchBrush2 = new HatchBrush(HatchStyle.DiagonalCross, Color.LightGray, Color.AliceBlue);
private void XtraTabbedMdiManager1_CustomDrawHeaderButton(object sender, XtraTab.HeaderButtonCustomDrawEventArgs e) {
    e.Cache.FillRectangle(myHatchBrush2, e.Bounds);
    e.DefaultDraw();
    e.Handled = true;
}

HatchBrush myHatchBrush1 = new HatchBrush(HatchStyle.BackwardDiagonal, Color.LightGray, Color.AliceBlue);
private void XtraTabbedMdiManager1_CustomDrawTabHeader(object sender, XtraTab.TabHeaderCustomDrawEventArgs e) {
    e.Cache.FillRectangle(myHatchBrush1, e.Bounds);
    e.DefaultDrawText();
    e.DefaultDrawImage();
    e.DefaultDrawButtons();
    e.Handled = true;
}
See Also