遍历每个控件,如果其名字不为a就Dispose().
foreach (Object obj in this.Contols)
{
 if obj.Name != "a"
    obj.Dispose();
}

解决方案 »

  1.   

    但是还有其它的控件呀?
    我想做到“遍历每一个button或txtbox控件”,谢谢!
      

  2.   

    请问这代码有什么问题?
    foreach ( Control obj in this.Controls )
    {
    if ( obj is Label )
    obj.Dispose();
    if ( obj is TextBox )
    obj.Dispose();
    }
      

  3.   

    >是让他们不可见还是让他们删掉。
    如果controls被频繁的改变并且最大Control数目不是很大并且固定建议让他们不可见。
      

  4.   

    foreach(Control cmicCtl in this.Controls )
    {
     
    if(cmicCtl.GetType()==typeof(TextBox) || cmicCtl.GetType()==typeof(Button) )
    {
    this.Controls.Remove(cmicCtl);
    }  

    }
      

  5.   

    出错了?
    未处理的“System.NullReferenceException”类型的异常出现在 .exe 中。其他信息: 未将对象引用设置到对象的实例。
    if(cmicCtl.GetType()==typeof(TextBox) || cmicCtl.GetType()==typeof(Button) )
      

  6.   

    typeof好象只能参数个对象,而不是类
    这样写一下试试
    if(cmicCtl.GetType().ToString().Equal("System.Windows.Forms.Button")|| cmicCtl.GetType().ToString().Equal("System.Windows.Forms.Label") )