public static TabStyleProvider CreateProvider(TabControlPlus tabControl){ TabStyleProvider provider; // Depending on the display style of the tabControl generate an appropriate provider. switch (tabControl.DisplayStyle) { case TabStyle.None: provider = new TabStyleNoneProvider(tabControl); break; case TabStyle.Default: provider = new TabStyleDefaultProvider(tabControl); break; case TabStyle.Angled: provider = new TabStyleAngledProvider(tabControl); break; case TabStyle.Rounded: provider = new TabStyleRoundedProvider(tabControl); break; case TabStyle.VisualStudio: provider = new TabStyleVisualStudioProvider(tabControl); break; case TabStyle.Chrome: provider = new TabStyleChromeProvider(tabControl); break; case TabStyle.IE8: provider = new TabStyleIE8Provider(tabControl); break; case TabStyle.VS2010: provider = new TabStyleVS2010Provider(tabControl); break; default: provider = new TabStyleDefaultProvider(tabControl); break; } provider._Style = tabControl.DisplayStyle; return provider; }
protected TabStyleProvider(TabControlPlus tabControl){ this._TabControl = tabControl; this._BorderColor = Color.Empty; this._BorderColorSelected = Color.Empty; this._FocusColor = Color.Orange; if (this._TabControl.RightToLeftLayout){ this._ImageAlign = ContentAlignment.MiddleRight; } else { this._ImageAlign = ContentAlignment.MiddleLeft; } this.HotTrack = true; // Must set after the _Overlap as this is used in the calculations of the actual padding this.Padding = new Point(6,3); }