Code Bye

C#winform定时器timer1事件

 


遇到个疑问
当前在WINFORM中拖了一个定时器timer1
注册了事件 然后开启定时 器.

如果我的注册的事件中,进行了长时间的操作,比如SLEEP(10000),或者打开了一个模式对话框.
那么,这个timer1的事件还会定期引发吗?

5分
timer在继续执行,不受影响
引用 1 楼 abc_nono 的回复:

timer在继续执行,不受影响

这么说,如果在TIMER1的事件里弹出ShowDialog() 可以是多个的.,但为什么不会阻断窗体线程呢

我测试发现,每次timer1事件,都会弹出一个模式对话框.
有什么办法能让它只弹出一个,在关闭后才能弹出新的呢?
弹出对话框之前,执行
timer1.Stop();
对话框关闭之后,执行
timer1.Start();

其实就是
timer1.Stop();
MessageBox.Show(“”);
timer1.Start();

35分
如果你的timer1除了要开窗体,还要进行些别的操作,不能停止它

那么你可以定义个全局的bool变量

在timer1里判断如果它是true就弹窗,是false就不弹窗.

然后在弹窗之后把它改成false.弹窗关闭之后重新改成true

然后在弹窗之把它改成false.弹窗关闭之后重新改成true
好办法 !嗯.

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C#winform定时器timer1事件