问题描述
我使用C#winform多线程自动定时弹出新窗体,但是窗体一直忙。我比如定时5秒钟弹出一个新窗体,但是一直都是忙的状态,我无法对新窗体操作,即使改为1分钟弹一次也没有办法,怎么办?
解决方案
解决方案二:
面对这样的提问方式,我只能回答:凉拌
解决方案三:
如果线程不是UI主线程的话,操作窗体需要用委托调用的,你可以用异步委托,到时间就弹出一个窗体
解决方案四:
代码如下Form1frm;privatevoidbutton1_Click(objectsender,EventArgse){varthread1=newThread(ShowFormThread);thread1.Start();}//没5秒钟开启一个窗体privatevoidShowFormThread(){while(true){Thread.Sleep(5000);this.BeginInvoke(newMethodInvoker(()=>{frm=newForm1();frm.Text="我是第几个窗体";frm.Show();}));}}
解决方案五:
最好让弹出窗体的代码让给计时器事件运行,不要在线程中运行.
时间: 2024-10-18 10:44:15