Category / Section
How to draw gradient tabs in WinForms TabControlAdv?
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();
}