如下面的程序,根据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;
帮帮忙吧本人新手呢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;
解决方案 »
- delphi idhttp post 网页
- 请问如何在RichEdit当前行的末尾插入值 ???
- Button上的快捷键的问题
- 请 熟悉 线程编程 的朋友,进来帮帮忙
- InputQuery('输入查询条件','查询品名为'
- 求助:Delphi7中如何使用ComboBoxEx
- PostMessage向数据感知控件发送字符的问题
- ADO的问题???急急
- 关于流的操作,有几点不明白,希望各位指点一下,相信我提的问题对你会有帮助的
- 如何利用byte 类型的 Pointer将多个文件的内容写入到一个Byte型变量中
- DELPHI 的 Application 是什么时候被创建的?
- 如何在A窗口移动时控制其他窗口移动
begin
ets[n].free;
lbs[n].free;
end
lbs : array[1..8] of TLabel;for i := low(ets) to high(ets) do ets[i].free;
可不可以利用父类把所有子类控件删除?
这句果然管用。