C# Timer 运行后窗体卡住不动,等很久代码运行完之后才恢复

2024-12-27 09:26:42
推荐回答(5个)
回答1:

C# Timer 运行后窗体卡住不动,等很久代码运行完之后才恢复是设置错误造成的,解决方法为:

1、打开"Microsoft Visual Studio 2008",如图所示。

2、找到"文件--新建--项目",鼠标单击打开创建项目的窗体。

3、因我们这个试验是WINFROM项目,所以打开创建项目的窗体后,需要项目类别中的"WINDOWS"下找到"Windows窗体应用程序",还有命名项目名称.选择完毕后,点击"确定"按钮,项目即创建成功。

4、项目创建成功后,默认自带一个FROM窗体,我们需要在窗体中添加控件:"groupBox"一个,"label"两个"textBox"两个"button"一个,并分别将FROM和所有控件的TEXT属性分别命名为"登陆窗体""登陆""用户名:""密码:""提交".并将"textBox2"的"PasswordChar"属性后输入"*"。

5、录入完成后,启动测试按钮。

回答2:

原因:你用的是System.Windows.Forms命名空间下的Timer,这个Timer执行的操作都是由UI主线程来执行的,所以会导致窗体卡住。
解决:你使用System.Threading命名空间下的Timer就可以了。这个TImer是由线程池里面的线程执行的。

回答3:

你可以在timer事件中加代码:
timer事件
{
timer1.enable=false;//一进事件将定时器停了,以防没执行完代码再次运行

application.doevents();// 在你比较耗资源的代码前面加这句话,将控制权交给系统,不用界面控制

timer1.enable=true;//执行完操作,再启动
}

回答4:

是不是timer设置的时间长啊!

回答5:

多线程方面考虑