Articles in this section
Category / Section

How to draw gradient tabs in WinForms TabControlAdv?

1 min read

Draw gradient tabs

You can handle the DrawItem Event of TabControlAdv and then set the gradient by using the LinearGradientBrush

C#

private void tabControlAdv1_DrawItem(object sender, Syncfusion.Windows.Forms.Tools.DrawTabEventArgs drawItemInfo)
{
   // Use LinearGradientBrush to set gradient.
   // Use GetTabRect to get the rectangle of the tabs.
   if(drawItemInfo.Index != this.tabControlAdv1.SelectedIndex)
   {
       // For the non-selected tabs
       lgb = new System.Drawing.Drawing2D.LinearGradientBrush(this.tabControlAdv1.GetTabRect(drawItemInfo.Index), Color.FromArgb(197,197,173), Color.FromArgb(228,228,212), LinearGradientMode.Horizontal);
   }
   else
   {
       // For the selected tab
       lgb = new System.Drawing.Drawing2D.LinearGradientBrush(this.tabControlAdv1.GetTabRect(drawItemInfo.Index), Color.White, Color.WhiteSmoke, LinearGradientMode.Horizontal);
   }
   float[] positions = {0.0f, 0.05f, 0.95f, 1.0f};
   float[] factors = {0.4f, 1.0f, 0.05f, 0.04f};
   // Blend settings
   Blend blend = new Blend();
   blend.Factors = factors;
   blend.Positions = positions;
   lgb.Blend = blend;
   drawItemInfo.Graphics.FillRectangle(lgb,this.tabControlAdv1.GetTabRect(drawItemInfo.Index));
lgb.Dispose();
   // Draw the default borders and interior (text and image)
   drawItemInfo.DrawBorders();
   drawItemInfo.DrawInterior();
}

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied