private GradientTab FromString(object value)
        {
            var result = ((string)value).Split(',');
            if (result.Length != 6)
                throw new ArgumentException("Could not convert to value");

            try
            {
                var gradient = new GradientTab();

                // Retrieve the colors
                var converter = new ColorConverter();
                gradient.ColorStart = (Color)converter.ConvertFromString(result[0]);
                gradient.ColorEnd = (Color)converter.ConvertFromString(result[1]);
                gradient.GradientStyle = (LinearGradientMode)Enum.Parse(typeof(LinearGradientMode), result[2], true);
                gradient.TabPageTextColor = (Color)converter.ConvertFromString(result[3]);
                gradient.TabPageSelectedTextColor = (Color)converter.ConvertFromString(result[4]);
                gradient.SelectedTabFontStyle = (FontStyle)Enum.Parse(typeof(FontStyle), result[5], true);

                return gradient;
            }
            catch (Exception)
            {
                throw new ArgumentException("Could not convert to value");
            }
        }
        private UpDown32Style _upDownStyle = UpDown32Style.Default; //Initializer

        #endregion Fields

        #region Constructors

        public KrbTabControl()
        {
            SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.UserPaint |
                          ControlStyles.SupportsTransparentBackColor | ControlStyles.ResizeRedraw |
                          ControlStyles.UserMouse, true);

            Size = new Size //Object Initializer
            {
                Width = 300,
                Height = 200
            };

            ItemSize = new Size
            {
                Width = 0,
                Height = 26
            };

            _tabGradient = new GradientTab(Color.White, Color.Gainsboro, LinearGradientMode.Horizontal, Color.Black, Color.Black, FontStyle.Regular);    //Instantiate
            _tabGradient.GradientChanged += CONTROL_INVALIDATE_UPDATE;

            _hatcher = new Hatcher(Color.White, Color.Gainsboro, HatchStyle.DashedVertical);
            _hatcher.HatchChanged += CONTROL_INVALIDATE_UPDATE;

            _gradientCaption = new CaptionGradient();
            _gradientCaption.GradientChanged += CONTROL_INVALIDATE_UPDATE;

            _captionButtons = new ButtonsCaption();
            _captionButtons.ButtonsColorChanged += CONTROL_INVALIDATE_UPDATE;

            _captionRandomizer = new RandomizerCaption();
            _captionRandomizer.CaptionRandomizerChanged += CONTROL_INVALIDATE_UPDATE;

            AllowDrop = true;  // For drag and drop tab pages.You can change this from control's property.
        }