首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

怎么删除动态创建的控件数组

2012-02-15 
如何删除动态创建的控件数组如下面的程序,根据combobox中选择的数值,在groupbox中创建了控件数组,创建是创

如何删除动态创建的控件数组
如下面的程序,根据combobox中选择的数值,在groupbox中创建了控件数组,创建是创建出来了,可怎么把它们删除呢?或者说我第一次在combobox中选择了7,后来选择了4,按目前的程序,动态创建的控件会维持在7个,不会少下去。。
帮帮忙吧。。。本人新手呢。。。

procedure   TForm1.ComboBox2Change(Sender:   TObject);
var
    ets   :   array[1..8]   of   TEdit;
    lbs   :   array[1..8]   of   TLabel;
    n,i   :   integer;

begin


    i   :=   strtoint(combobox2.Text);

    for   n   :=   1   to   i   do
    begin
        ets[n]   :=   TEdit.Create(groupbox2);
        ets[n].Parent   :=   groupbox2;
        ets[n].Left   :=   32+((n+1)   mod   2)*168;
        ets[n].Top   :=   0+((n+1)   div   2)*40;
        lbs[n]   :=   TLabel.Create(groupbox2);
        lbs[n].Parent   :=   groupbox2;
        lbs[n].Caption   :=   '参数 '+   inttostr(n);
        lbs[n].Left   :=   32+((n+1)   mod   2)*168;
        lbs[n].Top   :=   (-14)+((n+1)   div   2)*40;
    end
end;

[解决办法]
for n := 1 to i do
begin
ets[n].free;
lbs[n].free;
end

[解决办法]
ets : array[1..8] of TEdit;
lbs : array[1..8] of TLabel;

for i := low(ets) to high(ets) do ets[i].free;
[解决办法]
groupbox2.DestroyComponents

热点排行