说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

我在Form1上动态创建了100多个TImage和200多个TLabel(不是控件数组,而是一个个创建的,设有唯一tag),怎样可以快速将他们全部删除,并

编辑:说三道四文库 发布时间:2017-08-23 12:44
HTML文档下载 WORD文档下载 PDF文档下载
我在Form1上动态创建了100多个TImage和200多个TLabel(不是控件数组,而是一个个创建的,设有唯一tag),怎样可以快速将他们全部删除,并释放其资源?
创建这些控件的代码如下:

  While not DM.ADOQuery1.Eof do
    begin
      img:=TImage.Create(Self);
      img.Picture.Assign(ImageRes.Picture);
      img.Transparent:=False;
      img.Parent:=BrowseForm;
      img.Cursor:=crHandPoint;
     ......................
for i:=Form1.ControlCount-1 downto 0 do begin
  if (Form1.Controls[i] is TLabel) or (Form1.Controls[i] is TImage) then 
    Form1.Controls[i].Free;
end;

感谢 tonylk(tony) 的回答,但是我试了一下,要大概2-3秒才能完全删除这几百个东西,有没有效率更高的办法?

还有:用downto而不是to是不是因为可以美观视觉效果?
已经很快了;
这种方法有个隐含的问题,也就是在循环变量中赋的是一个可变的值:
for i:=Form1.ControlCount-1 downto 0 do 
Form1.ControlCount-1 删一个控件,变一次,在这个例子里可能不会有问题,但在其他地方就有可能出错.最好改为repeat...until
还有一种方法是可以把这些控件都放到一个panel上,删除的时候,只要删除panel控件就可以了
如果要想更快的话,我有个方法,不过没有试,但应该比上面快.你创建一个TObjectList.
MyObjectList := TObjectList.Create;
这样你每创建一个你的控件,就把它加入到MyObjectList中.当需要Free时,只要把这个List放掉即可.如果为了界面好看.也许可以先把界面先隐含掉再做.
肯定比上面快吧.因为上面需要做运行时的类型判断.
to sunware():你说的问题不是问题
把Form1.ControlCount-1先赋给一个变量就可以了
proman() 的办法可取。
创建一个FPublicOwner(任何一种继承自TComponent的组件均可,如隐藏的Panel),
作为所有动态组件的Owner,
动态组件创建时将它们的owner设为FPublicOwner,
全部删除时直接删除FPublicOwner即可。
如:

img := TImage.Create(FPublicOwner);
lab := TLabel.Create(FPublicOwner);
...

FPublicOwner.Free;
晕,用DOWNTO 而不用TO,并不是因为美化效果(帮TONY回答你),你自己看看,DOWNTO 和 TO 有什么区别,最简单的,从10循环到100就用TO ,从100循环到10就要用DOWNTO,明白了吗?????
我同意 zzheaptech(风的往事) 的方法!
在生成这些控件的时候指定它的parent为一个Panel,删除的时候直接将Panel删除掉,就会很快的
关注……
proman() 的说法绝对正确,补充一点:创建控件时,1 create,2 将控件加入数组,并获得数组内的序号 ;3 将序号付给控件的tag值 这样的好处在于可以任意删除、添加、修改某一个控件。
楼上不错,学习
替楼主问个问题,如果删除了再想创建呢,如把panle删除了是不是也要创建一个Panel呢,如果我想把这些Label或image保存到库中呢。包括label的x,y
坐标,tag属性,属于何中类型,如果我用list保存这些控件,如何我删除的不是全部面是一个或几个,怎样从这个list中快速找到我删除的哪个或哪几个控
件呢,(前提是不允许用循环啊)@_@
呵呵,我有办法解决。


引用一个新窗口form2,在form2上创建,全部创建完后把form2载入到form1的某个panel里显示。要删除时,先将form2隐藏,再删除form2。

form2.parent := form1.panel1;
form2.show;
不闪烁,无需循环
如何捕捉KEY VIOLATION等错误-Delphi资料 如何得到SQL返回的计算结果-Delphi资料 如何动态的读取Delphi中的PopupMenu的Caption ? 如何动态设置DBGRID。比如,动态设置DBGRID的COLUMNS。及如何在数值数据格式成千分位 如何返回BDE的状态信息?-Delphi资料 如何控制关键字段的重复输入及报错-Delphi资料 如何设置Microsoft SQL Server 全文索引服务 ?-Delphi资料 如何设置多用户环境的PARADOX数据库-Delphi资料 如何实现在一个Dbgrid中显示多数据库-Delphi资料 如何用SQL查询日期型字段?-Delphi资料 如何在数据库中存放avi文件-Delphi资料 如何在注册表中注册BDE-Delphi资料 筛选数据-Delphi资料 实现不同数据库系统之间的数据转移-Delphi资料 使 用WISQL32 同 时 访 问SQL SERVER 和SYBASE 数 据 库Delphi资 使用Session构件可以在打开有密码的库时不用输入密码-Delphi资料 使用SQL实现字段数据的模糊查询-Delphi资料 数据表的索引被损坏了怎么办-Delphi资料 数据库的密码、日期显示-Delphi资料 数据库应用程序开发中图像数据的存取技术-Delphi资料 数据库中图像数据的存取技术-Delphi资料 数据库转换-Delphi资料 数据浏览部件的应用及编程-Delphi资料 数据文件路径的管理-Delphi资料 随意控制DBGrid每一行的颜色-Delphi资料 通过DELPHI实现JAVA调用ORACLE数据库数据 通过编写代码来设置数据库的别名-Delphi资料 为Delphi数据表格增加彩色 为Delphi提供Pack和Undelete功能 为Delphi中数据库报表加网格 为数据库报表加网格-Delphi资料 急等答案 ,请问数据库中 的Null和零值有什么区别,请给详细解释一下 用FLASHGET无法下载. 趁着各位斑竹到任,赶紧把几个悬而未决的问题提出来,呵呵! com+的调用方式 哪位大侠知道今年计算机等级考试二级C语言还是用Turbo C2。0吗?还是在Dos环境下吗?(100相赠) 关于多媒体定时器的问题,各位进来看看 session出的问题,高手请进来!! 请问,大连雅奇培训如何?请指点。。。。。。 怎样用header()做下载文件? 关于检测组合键的程序怎样写? 菜鸟问题!!!页面显示后台数据 请问软件包LEDA -- library of the data types and algorithms 哪里有下载的? 如何获得当前页面中的所有Textbox控件集合? 如何对两个表操作???谢谢! java的程序在写Dreamweaver 4里写完不可以直接用,是不是 打印的问题 DELPHI5的资源编辑器用起来很不爽,有没有好点的? 帮帮忙~~~~ 请问软件包LEDA 哪里有下载的?谢谢 ado连接远程数据库是以文件共享方式,还是c/s方式啊? 有没有工作的JAVA程序员吗? 简单的语法问题 vb还是不太会用 求教 最菜的问题 如何保存无法保存的网页? 只要每人献出一点爱,人人都能成为程序员 呵呵,又有问题了 苦恼,大家帮忙啊 关于声音处理的一个问题 求英文资料,急!!! 帮忙解释一下程序,谢谢:) 怎样实现这样的存储过程?高手快来! 用过websnap的进来看一下,巨简单! 调试版本与发布版本的区别? 急等答案, sql的基本表是用一个存储文件表示还是用若干个存储文件表示 我的Windows 2000有时无法关机(重起) ********通过编号找名称!*******求最快的方法!!! 格式化硬盘后安装WIN98过程中为什么出现蓝屏,继续安装下去连软件都安装不了? 请教一个让人郁闷的问题! 寻找一本人民邮电出版社出版的有关 GSM 网络优化的书 请问高手:能不能动态creatLayer? select * ????? 问候大家 晚上好 ,有个问题请教,立即给50分! 怎样使模式对话框最大化显示? 关于socket 十万火急,大哥大姐快救小弟一命!!!考高程的或考过的请帮忙,感激!!! 求救 跟帖 在SERVLET中,页面怎么跳转呢?客户端可以下载指定的ftp文件。。? 一个数据库连接问题??? 挂了双硬盘后,我的光驱不见了,请问怎么办?急!!!!!!!!!!!!!!!! 在SERVLET中,页面怎么跳转呢?客户端可以下载指定的ftp文件。。? 急急急急急! 质量为m的物块,系在弹簧的一端,弹簧的另一端固定在转轴上,弹簧的自由长度为L.劲度系数为K,使物块在光滑水平支持面上以角速度w作匀速圆周运动,则此时弹簧的长度为多少? 稀土怎么样才能开采? e t s a 可以组成什么单词 The hot tiles on the floor will melt your 稀土怎么开采 黑洞一个小时=地球多少年? 一个蚂蚁从5楼掉下1楼来为什么没有摔死?这是我很长时间搞不懂的问题啊.求救`` 稀土怎样开采 w t s e e 能组成什么单词 The ice started ( ) (melt) 稀土在开采过程中产生的负面影响是什么 黑洞存在了多少年?黑洞是随宇宙诞生一起诞生的吗? 蚂蚁为什么从高楼上跳下来不会摔死? 打对号题 a e t s组成什么单词 在空气中弹簧测力计测得物重2.7牛,将其一半浸入水中,示数变为2.2牛(g取10牛每千克)求物体所受浮力大小物体的密度 两股线绣的十字绣,半针应该用几股线… 打对号那题 有一石块,在空气中称的重为19.6牛,全部浸没在水中称得重为14.7牛.问:(1)石块的体积多大 (2)石块的密度是多少? 十字绣中格的半针绣用几股线? 打对号的题,在线等 有一金属块,在空气称得它的重是72牛,当它全部浸没水中时,弹簧秤的示数为52牛(g=10牛/千克)(1)金属块所受的浮力(2)排开水的体积 "Melt down" What's Meaning? 打对号那道题4 某列车匀速前进,从驶上300米的桥到完全通过,一共用了1/3分钟,又知列车通过桥上一灯塔用时10秒钟,.某列车匀速前进,从驶上300米的桥到完全通过,一共用了1/3分钟,又知列车通过桥上一灯塔用时 十字绣怎么勾边?一般用几股线? 三个打对号的题, melt temperature是什么意思 1、如下图所示,质量为m的重锤从高h处自由下落,打在质量为M的木桩上,重锤与木桩一起下沉距离s.求木桩在下沉过程中遇到的平均阻力.(M+m)g+m^2gh/(M+m)s为啥? 在绣十字绣过程中, 地球离各个星球的距离? 英语翻译 有一种球从1.8米的高度自由落下后,第一次反弹的高度是1.5米,第二次反弹高度为0.9米,据此推理第三次弹起高度为()米 甲乙2石头,大小不同,石质相同.甲石质量1.5千克,体积4立方分米,乙石质量18千克,体积多少? 像蚂蚁一样不会摔死的动物急………………………………!摔不坏的东西也可以 比赛用的篮球,从1.8米的高度自由落下后,第一次反弹高度应( )1.2米,( )1.4米. 甲、乙两块石头,大小相同,石质相同.甲石头质量是1.5千克,体积是4立方分米.乙石头质量是18千克,体积是多少? 下载是什么意思 对的打对号,错的打错号并说明原因 甲乙两块石头,大小不同,石质相同,甲石头的质量是1.6千克,体积是4立方分米.乙石头的体积是40立方分米质量是多少? 蝎子毒还是蜈蚣毒? 判断的第四第五题打对号还是错号 我国公民全部政治生活的基础和准则(基本内容)是 down的意思 判断正误 对的打对号 错的打错号 我国公民暴雨政治生活的基本原则是什么 Bend down是什么意思快 请问:什么是二维码,具体怎么使用. 我养宠物的英文怎么说 顺便问一下,活S菌加活R菌, 怎么使用二维码?二维码是干什么用的? 日本地震到底死了多少人呢?拜托了各位 谢谢 关于用红细胞计数法测定活细菌数量的题目有人采用下列方法进行酵母菌的计数:将500个红细胞与5毫升该培养液混匀,然后制片观察,进行随机统计结果如下: 视野1 视野2 视野3 视野 什么是二维码?二维码有哪些新奇应用 十字绣用丝线绣好看还是用绵线绣好看以前只绣过一个钱包,听说丝线绣比较慢,这点倒没什么.丝线绣有哪些好处与坏处,请各位妹妹赐教 一个篮球从高出自由落下,每次接触地面后弹起的高度2/5.如果这个篮球从25米的高处落下.问:那么第三次弹起的高度是多少? 17岁,一米58正不正常? 为什么蚂蚁从高出掉下不会摔死? 球球从高处自由落下球从高处自由落下,触地面又弹起,每次弹起的高度都是下落高度的2/5,如果球从35米处落下,那第三次弹起的高度是多少 s e t w e 都能组成什么单词 急 油价4日上涨美元对主要货币汇率4日下跌俄大力保护文化遗产穆沙拉夫获保释有望结束软禁 仍被阻止美对冲基金巨头因内幕交易被罚18亿美湖南3名遇害学童集体下葬 家属呼吁加湖南警方确认杀3儿童案疑犯仅一人 动印度今日发射火星探测器 否认与中国竞克里抵沙特修补关系 大赞沙特重要战略冀中星要求公开殴打致残案复查结论被驳初生男婴医院被盗 湖北通城人民医院承冀鲁浙豫皖等地侦破多起街头“包小姐”印度今日发射火星探测器 否认与中国竞北京整形机构调查 韩国“名医”多为游“公安大V”陈里任职中央政法委 关注转基因食品标识混乱 专家建议修法对管美国白宫与国会拒绝特赦 斯诺登:说出巴基斯坦总理谢里夫呼吁寻求与塔利班对伦敦股市股指4日上涨南京富家子杀妻案被告愿赔57万 死者网传女孩食用虾和维C后猝死 记者调查河南省濮阳市热力公司开通微信服务平台吴哥航空加入南宁航空市场 增飞南宁至安徽省普通高校本科录取新生21万余名林丹全力以赴备战“林李大战”首届新疆·塔城手风琴艺术节明天开幕第七届“数据挖掘与智能计算”论坛在合安徽上半年高新技术产值同比增长13.重庆抽检出13批次不合格日常食品 陪冠军向艳梅逛街:不敢随便吃肉但扫货奥运项目哪个最适合你?专家:菜鸟先从中国香港选手夺金为啥难?家长认为不能大心脏!林丹上演绝境重生 这状态打李影响国际乒乓“88黄金一代” 龙的一里约奥运会羽毛球男单林丹险胜进四强 韩防长访星州遭抗议 “萨德”座谈会无省人大常委会调研组到大河书局经纬店等吕在模涉嫌受贿、贪污、挪用公款案一审专克东道主35年!郎平大赛十连胜主队以案说法:三个案例告诉你 被狗咬伤谁济南市民物业费超期被断电 找物业讨说欧洲奥委会主席被捕 涉嫌倒卖奥运门票
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘