unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
FlowPanel1: TFlowPanel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
i : Integer;
btn : TButton;
begin
for I := 0 to 5 do
begin
btn := TButton.Create(nil);
btn.Name := 'btn' ;
btn.Parent := self.FlowPanel1;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
var
i : Integer;
begin
for i := 0 to FlowPanel1.ControlCount - 1 do
begin
FlowPanel1.Controls[i].Free;
end;
end;end.删除时会提示错误,请问有那们知道怎样删除动态控件/
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
FlowPanel1: TFlowPanel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
i : Integer;
btn : TButton;
begin
for I := 0 to 5 do
begin
btn := TButton.Create(nil);
btn.Name := 'btn' ;
btn.Parent := self.FlowPanel1;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
var
i : Integer;
begin
for i := 0 to FlowPanel1.ControlCount - 1 do
begin
FlowPanel1.Controls[i].Free;
end;
end;end.删除时会提示错误,请问有那们知道怎样删除动态控件/
var
i : Integer;
btn : TButton;
begin
for I := 0 to 5 do
begin
btn := TButton.Create(nil);
btn.Name := 'btn'+inttostr(i) ;//每个按钮的名字最好不要一样
btn.Parent := self.FlowPanel1;
end;
end; procedure TForm1.Button2Click(Sender: TObject);
var
i : Integer;
begin
for i := 0 to FlowPanel1.ControlCount - 1 do
begin
if FlowPanel1.Controls[i] is TButton then
(FlowPanel1.Controls[i] as TButton).Free;
end;
end;
for i :=FlowPanel1.ControlCount - 1 downto 0 do
begin
if FlowPanel1.Controls[i] is TButton then
(FlowPanel1.Controls[i] as TButton).Free;
end;
用下面的方法还是 提示一样的错误.
procedure TForm1.Button1Click(Sender: TObject);
var
i : Integer;
btn : TButton;
begin
for I := 0 to 5 do
begin
btn := TButton.Create(self);
btn.Name := 'btn' + intToStr(i);
btn.Parent := self.FlowPanel1;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
var
i : Integer;
begin
for i := 0 to FlowPanel1.ControlCount - 1 do
begin
if FlowPanel1.Controls[i] is TButton then
(FlowPanel1.Controls[i] as TButton).Free;
end;
end;
for i:= FlowPanel1.ControlCount - 1 downto 0 do
//....
var
i : Integer;
btn : TButton;
begin
for I := 0 to 5 do
begin
btn := TButton.Create(nil);
btn.Name := 'btn' ;
btn.Parent := self.FlowPanel1;
end;
end; procedure TForm1.Button2Click(Sender: TObject);
begin
While FlowPanel1.Controls.count>0 do
FlowPanel1.Contorls[0].free;
end;