Timer的Tick事件有关问题
Timer的Tick事件问题在Timer的Tick事件中写MessageBox.Show为什么会弹出多个对话框?MessageBox会阻断线程
Timer的Tick事件问题
在Timer的Tick事件中写MessageBox.Show
为什么会弹出多个对话框?
MessageBox会阻断线程的运行啊,总不可能每次Tick事件都是一个线程吧
[解决办法]
http://tech.sina.com.cn/s/2008-07-07/1635722555.shtml
[解决办法]
[解决办法]http://www.itwis.com/html/net/winform/20080402/1185.html
[解决办法]你好讨厌啊,我不小心刚测试了一下,果然一直弹窗口,只好结束任务了。。。
我觉得每一次tick都是重新调用的,所以messagebox阻断不了。
[解决办法][解决办法]Timer是新创建了一个窗口,在这个窗口上创建的计时器,不和界面窗口共享消息循环,所以MessageBox阻断不了
[解决办法]TIMER好像不怎麼好,性能不好
[解决办法]MessageBox.Show和Application.DoEvent一样都
泵送消息,也就会收到WM_TIMER消息了。
一般模式窗口工作方式类似:
C/C++ codeEnableWindow(hParent, FALSE);while( GetMessage(&msg, NULL, 0, 0) ){ if( !quitDialg && !IsDialogMessage(hCurrentDlg, &msg) ) { TranslateMessage(&msg); DispatchMessage(&msg); }}EnableWindow(hParent, TRUE);
[解决办法]
[解决办法]
messagebox不会阻断time吧
[解决办法]
[解决办法]
MessageBox.Show和Application.DoEvent一样都泵送消息,也就会收到WM_TIMER消息了。
[解决办法]
timer是不会被阻断的。
[解决办法]
[解决办法]
方法不错 学习了
[解决办法]
因为Timer中的属性internal默认为50,也就是每50毫秒就会触发一次事件,当然会显示很多框框喽
[解决办法]
form没有加入线程同步的设置,好像一个什么设置为false就好了
[解决办法]
Timer不是线程
[解决办法]
这个事件特殊,它是隔一定的时间久执行一次。的确你的messagebox是可以阻断后面的程序执行的,也就是消息框后面的程序没有执行。但是到了时间该事件却是再次执行。
[解决办法]
C# code private void timer1_Tick(object sender, System.EventArgs e){ timer1.Enabled=false;//如果不先把enabled设置成false对话框会一直弹下去 MessageBox.show("提示信息"); timer1.Enabled=true;}
[解决办法]
[解决办法]
Tick是定时触发。你可以在事件中做必要的限定只触发你需要的次数。