windowsforms-devexpress-dot-xtratabbedmdi-dot-xtratabbedmdimanager-c34e8830.md
Allows you to draw a tab header manually.
Namespace : DevExpress.XtraTabbedMdi
Assembly : DevExpress.XtraBars.v25.2.dll
NuGet Package : DevExpress.Win.Navigation
[DXCategory("Appearance")]
public event TabHeaderCustomDrawEventHandler CustomDrawTabHeader
<DXCategory("Appearance")>
Public Event CustomDrawTabHeader As TabHeaderCustomDrawEventHandler
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. |
The code below shows how to draw a custom background in tab headers and header buttons.
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;
}
Imports System.Drawing.Drawing2D
Private myHatchBrush2 As New HatchBrush(HatchStyle.DiagonalCross, Color.LightGray, Color.AliceBlue)
Private Sub XtraTabbedMdiManager1_CustomDrawHeaderButton(ByVal sender As Object, ByVal e As XtraTab.HeaderButtonCustomDrawEventArgs) _
Handles xtraTabbedMdiManager1.CustomDrawHeaderButton
e.Cache.FillRectangle(myHatchBrush2, e.Bounds)
e.DefaultDraw()
e.Handled = True
End Sub
Private myHatchBrush1 As New HatchBrush(HatchStyle.BackwardDiagonal, Color.LightGray, Color.AliceBlue)
Private Sub XtraTabbedMdiManager1_CustomDrawTabHeader(ByVal sender As Object, ByVal e As XtraTab.TabHeaderCustomDrawEventArgs) _
Handles xtraTabbedMdiManager1.CustomDrawTabHeader
e.Cache.FillRectangle(myHatchBrush1, e.Bounds)
e.DefaultDrawText()
e.DefaultDrawImage()
e.DefaultDrawButtons()
e.Handled = True
End Sub
See Also