不明容器panel中有多少控件,能全部清除吗?如何清除呢?

解决方案 »

  1.   

    遍历panel.controls数组
    依次free掉 呵呵                                      www.coderpub.com
      

  2.   

    错误,每Free一个控件 controlscount会变化导致错误,还有高人吗?
      

  3.   

    var
      i:Integer;
    begin
      i:= Panel1.ControlCount;
      while Panel1.ControlCount >0 do begin
        Panel1.Controls[i-1].Free;
        i:=i-1;
      end;
      

  4.   

    var
      i:Integer;
    begin
      for i:=Panel1.ControlCount downto 0 do 
        Panel1.Controls[i].Free;要注意顺序
      

  5.   

    不好意思,上面的应该是
    var
      i:Integer;
    begin
      for i:=Panel1.ControlCount-1 downto 0 do 
        Panel1.Controls[i].Free;
      

  6.   

    感谢你们的帮助,但是问题没能解决,我想做事如下:
    在panel中创建Button然后执行Button 的 onclick事件,接着释放Button
    如果不点击Button事件,则释放无问题,如点击后则不成,会出现错误,百思不得其解!!
      

  7.   

    晕,你自己点自己释放自己自然有问题。
    可以隐藏他啊。
    或者在接下去的步骤释放他。
    这样这样,先创建A,点A,隐藏A。再创建B,点B,隐藏B释放A…………就这样。
    具体怎么写,应该会吧。
    创建第一个的时候做一下判断就可以了。