private void button1_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < tab1.TabPages.Count; i++)
            {
                TabPage tabPage = tab1.TabPages[i];
                this.tab1.TabPages.Remove(tabPage);
            }
        }
这段代码好象没有错误吧结果并没有全部删完只能用微软的this.RemoveAll();老盖是不是太霸道了点。。

解决方案 »

  1.   

    应该这样用
                while(tab1.TabPages.Count>0)
                {
                    TabPage tabPage = tab1.TabPages[0];//重复删除第一个就行了
                    this.tab1.TabPages.Remove(tabPage);
                }
      

  2.   

    to clare2003(忘情火) :
    问题是解决了。不知道老盖为啥不让我这段代码执行出应该执行的效果
      

  3.   

    也可以改成这样:
    foreach (TabPage tabPage in  Ttab1.tabPages)
    {
         this.tab1.TabPages.Remove(tabPage);
    }
      

  4.   

    問題在於tab1.TabPages.Count , 因為你每remove一個,count就少一個,所以刪除不完,明白沒
    for (int i = 0; i < tab1.TabPages.Count; i++)
                {
                    TabPage tabPage = tab1.TabPages[i];
                    this.tab1.TabPages.Remove(tabPage);
                }