我在form2中加了一个时间控件,在ontimer事件中加入form4.close;
我只是想只有在form2被激活时(在屏幕中显示)才开始计时,而在
form2没有被激活时,不作响应。
而现在是在form3,还有其他窗体被激活时,在form中的时间控件也响应
!

解决方案 »

  1.   

    不太清楚你的意思,不过使用timer完成你想的功能,要别忘记在关闭form4后enable控件timer,另要判断form4和form2是否显示,否则会出错!
      

  2.   

    是你的窗口在程序执行中已经建成啦,所有时间控件就起作用啦!
    把Projects->options中Auto-Create Forms建立的那几个窗口去掉
    再根据程序需要将窗口建立,再显示出来,即
    Application.CreateForm(TForm2, Form2);
    Form2.ShowModal;
    Form2.Free;
      

  3.   

    同意楼上的,你的form2可能在程序一运行就创建了。
      

  4.   

    timer的enabled属性设为false在form2的onshow事件里写//不要写在oncreate事件里
    timer1.enabled:=true;
      

  5.   

    同意wywry(Wyatt) 
    另外也可以这样:
    form4.show;
    form4.timer1.enabled:=true;  //在设计时要把Timer 设为Enable=False