CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

如何使用delphi里的timer控件?

楼主guguda(刀巴)2002-04-17 13:30:04 在 Delphi / VCL组件开发及应用 提问

我的form1里用了一个timer,让它在开始后自动弹出Form2,用了form2.show,但form2,show弹出后form1并没有关闭,还开着,我又用的form1.close,现在能关闭了,但form2又弹不出来了。我要怎么做才能即让form1自动关闭并让form2弹出?我的timer代码如下:    
  procedure   TForm1.Timer1Timer(Sender:   TObject);    
  begin    
  form2.Show;    
  form1.Close    
  end; 问题点数:20、回复次数:13Top

1 楼guguda(刀巴)回复于 2002-04-17 13:44:14 得分 0

怎么没有人回答啊。知道的朋友说一声啊。Top

2 楼mr_wn(宝盖丁)回复于 2002-04-17 13:44:50 得分 5

form1是主form,你把它关了,form2自然就关了  
  将form2也设置为主form就可以了Top

3 楼weizhi(行者)回复于 2002-04-17 13:47:22 得分 5

呵呵,楼上说的没错,你改form1.Close为form1.Hide;吧!  
  Top

4 楼outer2000(天外流星)回复于 2002-04-17 13:47:25 得分 0

不用TIMER控件。在FORM1的ONCLOSE事件里让FORM2。SHOW可以吗?Top

5 楼guguda(刀巴)回复于 2002-04-17 13:52:57 得分 0

我用了hide,不成啊。程序退不出去!!!我怎么才能让form2为主???Top

6 楼guguda(刀巴)回复于 2002-04-17 14:05:17 得分 0

朋友们,回答一下了。Top

7 楼chinajavis(我选择 我喜欢)回复于 2002-04-17 14:07:44 得分 5

主窗口Form1是不能关闭的。  
  你可以在关闭Form1的按钮Click事件中这样写:  
  procedure   TForm1.Button1Click(Sender:   TObject);  
  begin  
      Hide;  
      Form2.Show;  
  end;  
  但要注意的是,这样做你的主窗体Form1只是被隐藏了,并没有被释放。  
  如果要在Form2做完事情后就关闭的话,那时也要将Form1关闭掉。即:  
  procedure   TForm2.FormClose(Sender:   TObject;   var   Action:   TCloseAction);  
  begin  
      Form1.Close;  
  end;  
  如果要在Form2做完事情后再回到主窗体Form1话,那时可将Form1重新显示。即:  
  procedure   TForm2.FormClose(Sender:   TObject;   var   Action:   TCloseAction);  
  begin  
      Form1.Show;  
  end;  
  当然,Unit1单元中要uses   Unit2;Unit2单元中要uses   Unit1Top

8 楼LFreeX(迷茫)回复于 2002-04-17 14:08:20 得分 0

为什么要程序退出去?Top

9 楼hwkknd(白开水)回复于 2002-04-17 14:08:51 得分 0

如果Form2为主的放,那何来Form1啊?  
  呵这个办法恐怕也不妥吧……Top

10 楼hwkknd(白开水)回复于 2002-04-17 14:21:40 得分 5

Form1为主窗体,  
  在Form1里创建Form2:  
  Application.MainForm.Hide   ;  
  Form2.Show   ;  
   
  在Form2.Close里加入:  
  application.Terminate   ;  
  就可以即隐藏主窗体又可显示F2,又避免Unit间的重复引用!Top

11 楼BossHawk(BossHawk)回复于 2002-04-17 14:21:43 得分 0

to   chinajavis(我选择   我喜欢)    
   
  真是好人,补充一下,就是为什么不用Form1.Close而用Form1.Hide  
  因为Form1是主窗口,它的关闭就意味着整个程序的关闭,当然Form2就不见了  
   
  至于改Form2为主窗体是治标不治本的,你还得先把Form1   Show出来把Form2   Hide掉,回到上面的问题中去了  
   
  可以在Project   options中改变主窗体,也可在工程文件中通过改变第一个创建的窗体达到目的  
   
  Top

12 楼guguda(刀巴)回复于 2002-04-17 14:29:03 得分 0

谢谢大家了。我用   chinajavis(我选择   我喜欢)   的方法了。Top

13 楼chinajavis(我选择 我喜欢)回复于 2002-04-17 14:32:00 得分 0

bosshawk(BossHawk)、hwkknd(白开水)说的也都对Top

相关问题

  • Delphi数据库控件使用方法
  • C++ Builder 如果使用Delphi的控件?
  • delphi下怎么使用控件数组?
  • 在Delphi中使用flash控件
  • Delphi控件在VB中如何使用
  • C++Builder中能使用delphi的控件吗?
  • DELPHI中TIMER控件的问题?
  • 问关于timer控件的使用!
  • 线程中不能使用timer控件?
  • c# windows控件中如何使用timer

关键词

  • 窗体
  • 主
  • 关闭
  • form
  • timer
  • hide
  • 弹出
  • 为主
  • show
  • unit

得分解答快速导航

  • 帖主:guguda
  • mr_wn
  • weizhi
  • chinajavis
  • hwkknd

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo