Category / Section
How to draw a custom caption for docking windows in WinForms Docking Manager?
1 min read
Draw a custom caption
The DockingManager has a ProvideGraphicsItems event that can be handled for custom rendering the docking window caption area. This event is fired whenever a docking window’s caption needs to be painted and the ProvideGraphicsItemsEventArgs event argument provides the control being drawn and allows you to specify the new set of graphics objects to used.
Handle the DockingManager.ProvideGraphicsItems event and specify custom drawing objects for the active and inactive docking windows.
C#
private void dockingManager1_ProvideGraphicsItems(object sender, Syncfusion.Windows.Forms.Tools. ProvideGraphicsItemsEventArgs arg) { if(arg.IsActiveCaption == true) { arg.CaptionBackground = new LinearGradientBrush(arg.CaptionBounds, Color.Red, Color.White, (float)0); arg.CaptionForeground = Color.Black; arg.CaptionFont = new Font("Arial", 10, FontStyle.Bold); } else { arg.CaptionBackground = new LinearGradientBrush(arg.CaptionBounds, Color.Blue, Color.White, (float)0); arg.CaptionFont = new Font("Arial", 10); } }
VB
Private Sub dockingManager1_ProvideGraphicsItems(ByVal sender As Object, ByVal arg As Syncfusion.Windows.Forms.Tools.ProvideGraphicsItemsEventArgs) Handles dockingManager1.ProvideGraphicsItems If arg.IsActiveCaption = True Then arg.CaptionBackground = New LinearGradientBrush(arg.CaptionBounds, Color.Red, Color.White, CSng(0)) arg .CaptionForeground = Color.Black arg.CaptionFont = New Font("Arial", 10, FontStyle.Bold) Else arg.CaptionBackground = New LinearGradientBrush(arg.CaptionBounds, Color.Blue, Color.White, CSng(0)) arg.CaptionFont = New Font("Arial", 10) End If End Sub
Reference link: https://help.syncfusion.com/windowsforms/dockingmanager/docking-events#providegraphicsitems-event