彻底删除并释放一个按钮是不是这样呢?procedure TfrmTask.btn1Click(Sender: TObject);
begin
btnBiaoji.Destroy;
btnBiaoji.Free;
end;我要删除的是一个动态生成的TPanel: todaytasks: array[0..100] of TPanel;
这些TPanel动态生成到一个TScrollBox上,生成的数目每次十不定的,假如这次我生成了10个todaytasks(todaytasks[0]...todaytasks[9])那如果我要删除todaytasks[2]之后的所有todaytasks,怎么操作呢?在我点击一个按钮的时候触发.
多谢大侠指点.
begin
btnBiaoji.Destroy;
btnBiaoji.Free;
end;我要删除的是一个动态生成的TPanel: todaytasks: array[0..100] of TPanel;
这些TPanel动态生成到一个TScrollBox上,生成的数目每次十不定的,假如这次我生成了10个todaytasks(todaytasks[0]...todaytasks[9])那如果我要删除todaytasks[2]之后的所有todaytasks,怎么操作呢?在我点击一个按钮的时候触发.
多谢大侠指点.
begin
//btnBiaoji.Destroy; 不需要
btnBiaoji.Free;
end;
for i:=3 to ScrollBox.ControlCount-1 do
ScrollBox.Controls[i].Free;一般情况下。
ScrollBox中加入TControl的顺序是不变的.
用这个才能真确实现效果,不过还是非常感谢!
for i:=0 to SBoxToday.ControlCount-1 do
SBoxToday.Controls[0].Free;
todaytasks: array[0..100] of TPanel;
那么在内存中就有对象的数据了,没有必要从界面上去重新获取对象数据,也就是没有必要使用ScrollBox对象的Control属性了。
可以直接释放指定对象: for TemI := 3 to 100 do
begin
if Assigned(todaytasks[TemI]) then
begin
FreeAndNil(todaytasks[TemI]);
end;
end;