Beispiel #1
0
        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);
                }
            }
        }
Beispiel #2
0
        public void SelectTab(int i)
        {
            NiceTab t = visibleTabs[i];

            t.Checked = true;
            OnTabCheckedChanged(t, null);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
            }
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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);
                }
            }
        }