private void OnTabCheckedChanged(object sender, EventArgs e) { NiceTab tab = sender as NiceTab; if (tab.Checked) { SelectedTab = tab; tab.FlatAppearance.CheckedBackColor = SelectedTabColor; tab.Image = tab.Checked ? SelectedTabImage : UnselectedTabImage; foreach (NiceTab t in tabs) { t.FlatAppearance.MouseOverBackColor = t.Checked ? SelectedTabColor : MouseOverTabColor; if (t.AssociatedControl != null) { if (t == SelectedTab) { t.AssociatedControl.Visible = true; } else { t.AssociatedControl.Visible = false; } } } if (OnSelectedTabChanged != null && tab.Checked) { OnSelectedTabChanged(this, null); } } }
public void SelectTab(int i) { NiceTab t = visibleTabs[i]; t.Checked = true; OnTabCheckedChanged(t, null); }
public int MoveSelectedTabLeft() { NiceTab t1 = SelectedTab; NiceTab t2 = visibleTabs[t1.TabIndex - 1]; int i1 = tabs.IndexOf(t1); int i2 = tabs.IndexOf(t2); tabs.Swap(i1, i2); UpdateTabs(); // SelectTab(t1.TabIndex); return(t1.TabIndex); }
public void RemoveTab(int i) { int idx = SelectedIndex; NiceTab t = visibleTabs[i]; tabsByName.Remove(t.Text); tabs.Remove(t); t.Dispose(); UpdateTabs(); idx = T.MinMax(0, visibleTabs.Count - 1, idx); if (idx >= 0) { SelectTab(idx); } }
public int AddTab(string label, Control ctrl = null, bool visible = true) { NiceTab tab = new NiceTab(this, label, ctrl); tab.CheckedChanged += new System.EventHandler(OnTabCheckedChanged); tabs.Add(tab); if (!tabsByName.ContainsKey(label)) { tabsByName.Add(label, tab); } if (tabs.Count == 1) { tab.Checked = true; } tab.Visible = tab.IsVisible = visible; UpdateTabs(); return(tabs.Count - 1); }
public void ShowTab(string label, bool visible) { int idx = SelectedIndex; NiceTab t = tabsByName[label]; t.Visible = t.IsVisible = visible; UpdateTabs(); if (visible) { SelectTab(label); } else { idx = T.MinMax(0, visibleTabs.Count - 1, idx); if (idx >= 0) { SelectTab(idx); } } }