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