首页 > 代码库 > C#中 选项卡(Tabcontrol)动态添加TabPage(获取或设置当前选项卡及其属性)

C#中 选项卡(Tabcontrol)动态添加TabPage(获取或设置当前选项卡及其属性)

新建一个WinForm程序,拖一个TabControl(在tabPages属性里面将默认的两个TabPage删除)和三个Button(增加、删除、修改) 

  1. public partial class Form1 : Form  
  2.     {  
  3.         private int index = 0;  
  4.         public Form1()  
  5.         {  
  6.             InitializeComponent();  
  7.         }  
  8.   
  9.         private void Form1_Load(object sender, EventArgs e)  
  10.         {  
  11.             //this.tabControl1.SelectedIndex = 1;  
  12.         }  
  13.   
  14.         private void btnAdd_Click(object sender, EventArgs e)  
  15.         {  
  16.             TabPage Page = new TabPage();  
  17.             Page.Name = "Page" + index.ToString();  
  18.             Page.Text = "tabPage" + index.ToString();  
  19.             Page.TabIndex = index;  
  20.             this.tabControl1.Controls.Add(Page);  
  21.  
  22.             #region 三种设置某个选项卡为当前选项卡的方法  
  23.             //this.tabControl1.SelectedIndex = index;  
  24.             this.tabControl1.SelectedTab = Page;  
  25.             //this.tabControl1.SelectTab("Page" + index.ToString());  
  26.             #endregion   
  27.   
  28.             index++;  
  29.         }  
  30.   
  31.         private void btnRemove_Click(object sender, EventArgs e)  
  32.         {  
  33.             bool first = true;  
  34.             if (index > 0)  
  35.             {  
  36.                 #region 两种删除某个选项卡的方法  
  37.                 this.tabControl1.Controls.RemoveAt(this.tabControl1.SelectedIndex);  
  38.                 //this.tabControl1.Controls.Remove(this.tabControl1.TabPages[this.tabControl1.TabPages.Count-1]);  
  39.                 #endregion   
  40.             }  
  41.             else  
  42.             {  
  43.                 return;  
  44.             }  
  45.  
  46.             #region 用于设置删除最后一个TabPage后,将倒数第二个设置为当前选项卡  
  47.             if (first)  
  48.             {  
  49.                 this.tabControl1.SelectedIndex = --index - 1;  
  50.                 first = false;  
  51.             }  
  52.             else  
  53.             {  
  54.                 this.tabControl1.SelectedIndex = index--;  
  55.             }  
  56.             #endregion   
  57.         }  
  58.   
  59.         private void btnUpdate_Click(object sender, EventArgs e)  
  60.         {  
  61.             this.tabControl1.SelectedTab.Text = "xyt";//修改当前选项卡的属性  
  62.             //this.tabControl1.SelectedTab.Name = "";  
  63.             //this.tabControl1.SelectedTab.Tag = "";  
  64.             //this.tabControl1.SelectedTab.Select();  
  65.         }  
  66.     }