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(); }