Windows窗体应用程序c#在计时器滴答事件之间停止响应

本文关键字:之间 事件 响应 滴答 计时器 窗体 应用程序 Windows | 更新日期: 2023-09-27 18:04:28

我有一个代码,其中我已经启动了一个75秒的计时器滴答事件。应用程序应该执行一个任务,在75秒的时间间隔。应用程序只是运行良好,有时5小时,但突然它显示没有响应…每当在计算机上进行其他操作时,例如打开其他文件…

我的代码是这样的:

private void button2_Click(object sender, EventArgs e)
{            
    tmrTimer.Enabled = true;
}
private void tmrTimer_Tick(object sender, EventArgs e)
{
    //Do my stuff here;
}

Windows窗体应用程序c#在计时器滴答事件之间停止响应

我认为这可能是因为你使用定时器从System.Windows.Forms.Timer类。这种定时器是单线程定时器;这意味着它们使用与UI使用的线程相同。因此,当线程有很多事情要做时,应用程序显示没有响应的原因很明显。
我建议改变定时器类型,试试这个:System.Threading.Timers .