设置定时器定时值
void settimer(int ts)
//ts: 时间,单位10ms =0表示关闭定时器
示例
settimer(100); //定时1秒 100*10ms=1000ms=1s
注意
- settimer执行后,立即开始计时
- 当到达时间后,可能事件触发会有延时,比如预设200ms,在计时器达到200ms的时候,此时如果界面正在刷新,为保证界面操作的连贯性,不卡,此时中断不响应,待界面刷新完后再相应定时器中断,因此可能在200多ms的时候相应定时时间,比如:
时间轴 | 情况 |
---|---|
0ms | 设置定时器20,即200ms |
200ms时 | 定时值到达,系统绘制界面busy; 未响应定时器事件 |
220ms | 相应定时器事件,定时器事件中未使用settimer从新设置 |
400ms | 定时值到达,注意不是420ms才到达 |
- 当控件没有设置定时器启动的情况下,此语句会自动设置定时器,因此此控件必须有ontimer()的方法
- 定时器是控件内部属性,因此本语句只能放在控件事件内部的代码中(方法、事件、继承事件函数内均可使用),在全局代码中执行会出错