读书人

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

发布时间: 2012-02-15 12:09:44 作者: rapoo

如何删除动态创建的控件数组
如下面的程序,根据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

读书人网 >.NET

热点推荐