假设定时器时间间隔为1秒,当定时器中执行的程序满足某条件时,需要定时器暂停2秒,然后再继续执行后面的语句,如果使用Thread.Sleep(2000),没有任何意义,请问用什么办法可以实现这个效果呢?定时器sleep
解决方案 »
- MDI的子父关系只能设定2层??
- c#的textbox文本框怎样做到和input(text)输入框一样能出现失去焦点时文本框显示灰色文字的提示?
- 发布问题
- 谁帮我通俗的讲讲abstract 和virtual修饰符的用法的区别
- 如何屏蔽webbrowser的html被修改后自动弹出的保存对话框!
- 谁有这些东西?一定上分!
- 有人可以帮助我吗?需要你有一些用C#和SQL开发动态网页的经验(不用很高)和一点时间。没有报酬的:-)
- 请问各位兄弟,如何限制web下的datagrid中的出生年月列数据格式,谢谢了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 调用解决方案另一个项目中的方法时,方法中的ConfigurationManager.ConnectionStrings["ConnStr"]是null
- 方法调用AVICAP32.dll 失败 错误提示是安全透明方法无法调用本机代码,需要安全关键或者安全可靠关键才可以。这怎么解决啊。
- XML注释
- char*怎么转byte并保持源数据不受encode影响?
你是想暂停后定时器也往后顺延2秒吗?那你先先timer1.Interval+=2000后再Thread.Sleep(2000),并用一个变量标记为true,然后进入timer1_ticks时看这个变量标记为true再把timer1.Interval-=2000;同时变量标记为false
private bool m_bFlag=false;
private void timer1_Ticks(....)
{
if(m_bFlag)
timer1.Interval-=2000;
if(需要暂停2秒条件成立)
{
timer1.Interval+=2000;
m_bFlag=true;
Thread.Sleep(2000);
}
}
你的思路打不开,非要说“定时器暂停,而暂停之后又要从中间执行定时器的处理程序”,这就纠结起来了。那么还不如用最笨的办法整两个定时器好了,如果这样能让你搞清楚“谁是谁的定时器”的问题的话也挺好。