请问delphi怎么删除动态生成的label组件?
在程序运行过程中我用以下代码点击按钮生成label以后想清空里面的内容或者说删除动态创建的label的话怎么做呢?//////竖向生成labelvari,n,i1:Int...
在程序运行过程中我用以下代码点击按钮生成label以后想清空里面的内容或者说删除动态创建的label的话怎么做呢?
//////竖向生成label
var
i,n,i1:Integer;
lbl: TLabel;
begin
edit1.Visible:=false;
//edit1.Top
n:=6;
i1:=20 ;
for i:=2 to n do
begin
lbl:= TLabel.Create(Application);
lbl.Parent := Self;
lbl.Caption := 'lbl'+IntToStr(i);
lbl.top :=i*30+(lbl1.Top-30);
lbl.Height := 75;
lbl.Width :=75 ;
lbl.Left :=lbl1.Left;
end;
end; 展开
//////竖向生成label
var
i,n,i1:Integer;
lbl: TLabel;
begin
edit1.Visible:=false;
//edit1.Top
n:=6;
i1:=20 ;
for i:=2 to n do
begin
lbl:= TLabel.Create(Application);
lbl.Parent := Self;
lbl.Caption := 'lbl'+IntToStr(i);
lbl.top :=i*30+(lbl1.Top-30);
lbl.Height := 75;
lbl.Width :=75 ;
lbl.Left :=lbl1.Left;
end;
end; 展开
1个回答
展开全部
那你就用个数组把lbl 都保存下来,需要删除时 再一个一个释放清除掉。
为什么要采用这种方式呢? 用个列表控件不是比你这个要好得多吗 !
为什么要采用这种方式呢? 用个列表控件不是比你这个要好得多吗 !
追问
提供一下一键清除整个窗口label的代码吗
追答
unit Unit1;
interface
uses
...................;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var
lbl:array[1..100] of tlabel;
n:integer;
yesorno:boolean;
procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
begin
n:=6;
if not yesorno then
for i:=1 to n do
begin
lbl[i]:= TLabel.Create(Application);
lbl[i].Parent := Self;
lbl[i].Caption := 'lbl'+IntToStr(i);
lbl[i].top :=i*30;
lbl[i].Height := 60;
lbl[i].Width :=75 ;
lbl[i].Left :=10;
end;
yesorno:=true;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i:integer;
begin
if yesorno then for i:=1 to n do lbl[i].Destroy;
yesorno:=false;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
yesorno:=false;
end;
end.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询