public void AdTabPage(string name, string caption, Color backColr = default(Color), char icon = (char)0, int index = -1)
        {
            TabPage tp = new TabPage(name, caption, icon);

            tp.Parent    = this;
            tp.BackColor = backColr;
            if (index >= 0 && index < TabPages.Count)
            {
                tp.TabIndex = TabPages [index].TabIndex;
                for (int i = index + 1; i < TabPages.Count; i++)
                {
                    TabPages [i].TabIndex++;
                }
                TabPages.Insert(index, tp);
            }
            else
            {
                if (TabPages.Count == 0)
                {
                    tp.TabIndex = 0;
                }
                else
                {
                    tp.TabIndex = TabPages.Last.TabIndex + 1;
                }
                TabPages.AddLast(tp);
            }
            TabBar.AddChild(tp.TabButton);
            tp.Selected |= TabPages.Count == 1;
            ResetCachedLayout();
        }