예제 #1
0
 /// <summary>
 /// Closes the tab with the provided name if present.
 /// </summary>
 /// <param name="name"></param>
 public void CloseTab(string name)
 {
     for (int i = 0; i < TabControl.TabCount; i++)
     {
         TabPage tabPage = TabControl.TabPages[i];
         if (tabPage.Text == name)
         {
             var closingTabPage = TabControl.TabPages[i];
             TabControl.SelectedIndex = -1;
             TabControl.TabPages.Remove(closingTabPage);
             if (TabControl.TabCount > 0)
             {
                 if (TabControl.TabCount > i)
                 {
                     TabControl.SelectedIndex = i;
                 }
                 else
                 {
                     TabControl.SelectedIndex = i - 1;
                 }
             }
             DisplayTabClosed?.Invoke(closingTabPage.Text, TabControl.TabCount);
             break;
         }
     }
 }
예제 #2
0
 /// <summary>
 /// Closes all tabs.
 /// </summary>
 public void CloseTabs()
 {
     for (int i = 0; i < TabControl.TabCount; i++)
     {
         var closingTabPage = TabControl.TabPages[0];
         TabControl.TabPages.Remove(closingTabPage);
         DisplayTabClosed?.Invoke(closingTabPage.Text, TabControl.TabCount);
     }
 }