首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

困惑小弟我的Timer控件的有关问题?已经发好几个贴,没有得到正确的结果,再问问

2012-02-12 
困惑我的Timer控件的问题?已经发好几个贴,没有得到正确的结果,再问问。我程序里有5个Timer控件,在FormShow

困惑我的Timer控件的问题?已经发好几个贴,没有得到正确的结果,再问问。
我程序里有5个Timer控件,在FormShow里执行的次序是:
Timer1,Timer2,Timer3,Timer4,Timer5.
Timer1执行5秒,void   __fastcall   TForm1::Timer1Timer(TObject   *Sender)
                              {  
                                          ...//执行相关的操作
                              }
Timer1之后,再执行,Timer2,10秒钟,
void   __fastcall   TForm1::Timer2Timer(TObject   *Sender)
                              {  
                                          ...//执行相关的操作
                              }
Timer2之后,再执行Timer3,也执行几秒钟,还有Timer4和Timer5。
我控制不好,始终打架冲突,本来明明要求是先执行Timer1   5秒钟,Timer2   10秒钟,结果Timer1执行的时候,Timer3,4,5都会触发,这是一个时间先后序列的问题,有高人帮我理理。
万分感谢!立即结贴

[解决办法]
不应该出现你说的情况

要不,你全部 Timer-> Enable 都等于 false
启动时 Timer1-> Enable = true;

Timer1 到时间后在 将 Timer2-> Enable = true;
Timer2 到时间后在 将 Timer3-> Enable = true;

以此类推,就不可能冲突了

还有,就是检查一下你的事件指向,是否都指向了该指向的函数。
[解决办法]
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
Timer1-> Enabled = true;// 构造函数中启动 Timer1
}
//---------------------------------------
void __fastcall TForm2::Timer1Timer(TObject *Sender)
{
Timer2-> Enabled = true;// 第一个到时后 启动第二个时钟
}
//---------------------------------------
void __fastcall TForm2::Timer2Timer(TObject *Sender)
{
Timer3-> Enabled = true;// 第二个到时后启动第三个时钟
}
//---------------------------------------
void __fastcall TForm2::Timer3Timer(TObject *Sender)
{
Timer4-> Enabled = true;
}
//---------------------------------------

热点排行