Articles in this section
Category / Section

How to change the navigation button size in WinForms TabControlAdv?

1 min read

Change tab navigation button size

WinForms Tab Control has the collection of TabPrimitives which used to display the navigation buttons. We have maintained the navigation buttons size internally. This navigation button size can be customized using reflection. The following code demonstrates the same.

C#

//Add reflection namespace
using System.Reflection;
 
//TabControlAdv Item size
this.tabControlAdv1.ItemSize = new Size(this.tabControlAdv1.ItemSize.Width, 50);
//Set the TabPrimitive size
foreach (TabPrimitive item in this.tabControlAdv1.TabPrimitivesHost.TabPrimitives)
{
  var obj = item;
  FieldInfo fi = obj.GetType().GetField("m_szSize", BindingFlags.NonPublic | BindingFlags.Instance);
  //Set the size
  fi.SetValue(obj, new Size(50, 50));
}
 
//Custom Button Image
this.tabControlAdv1.TabPrimitivesHost.TabPrimitives.Add(new TabPrimitive(TabPrimitiveType.NextPage, Properties.Resources.loadscreen, Color.FromArgb(64,64,64), true, 1, "TabPrimitive0", ""));
this.tabControlAdv1.TabPrimitivesHost.TabPrimitives.Add(new TabPrimitive(TabPrimitiveType.PreviousTab, Properties.Resources.dp4, Color.FromArgb(64, 64, 64), true, 1, "TabPrimitive1", ""));
this.tabControlAdv1.TabPrimitivesHost.TabPrimitives.Add(new TabPrimitive(TabPrimitiveType.DropDown, Properties.Resources.dp2, Color.FromArgb(64, 64, 64), true, 1, "TabPrimitive2", ""));
this.tabControlAdv1.TabPrimitivesHost.TabPrimitives.Add(new TabPrimitive(TabPrimitiveType.FirstTab, Properties.Resources.dp3, Color.FromArgb(64, 64, 64), true, 1, "TabPrimitive3", ""));
 

VB

‘Add reflection namespace
Imports System.Reflection
 
'TabControlAdv Item size
Me.tabControlAdv1.ItemSize = New Size(Me.tabControlAdv1.ItemSize.Width, 50)
'Set the TabPrimitive Buttons size
For Each item As TabPrimitive In Me.tabControlAdv1.TabPrimitivesHost.TabPrimitives
  Dim obj = item
  Dim fi As FieldInfo = obj.GetType().GetField("m_szSize", BindingFlags.NonPublic Or BindingFlags.Instance)
  fi.SetValue(obj, New Size(50, 50))
Next item
 
'Custom Button Image
Me.tabControlAdv1.TabPrimitivesHost.TabPrimitives.Add(New TabPrimitive (TabPrimitiveType.NextPage, My. Resources.loadscreen, Color.FromArgb(64,64,64), True, 1, "TabPrimitive0", ""))
Me.tabControlAdv1.TabPrimitivesHost.TabPrimitives.Add(New TabPrimitive (TabPrimitiveType.PreviousTab, My. Resources.dp4, Color.FromArgb(64, 64, 64), True, 1, "TabPrimitive1", ""))
Me.tabControlAdv1.TabPrimitivesHost.TabPrimitives.Add(New TabPrimitive (TabPrimitiveType.DropDown, My. Resources.dp2, Color.FromArgb(64, 64, 64), True, 1, "TabPrimitive2", ""))
Me.tabControlAdv1.TabPrimitivesHost.TabPrimitives.Add(New TabPrimitive (TabPrimitiveType.FirstTab, My. Resources.dp3, Color.FromArgb(64, 64, 64), True, 1, "TabPrimitive3", ""))

Screenshot

Change the navigation button size in TabControlAdv

Samples:

C#:  TabControlAdvExample

VB:  TabControlAdvExample

Reference link: https://help.syncfusion.com/windowsforms/tabcontrol/tab-navigation

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