表单关闭后定时器不触发
Posted
技术标签:
【中文标题】表单关闭后定时器不触发【英文标题】:Timer doesn't fire after Form closed 【发布时间】:2012-08-27 04:08:13 【问题描述】:我有一个使用 VS 设计器声明的带有 System.Windows.Forms.Timer
的 .NET 表单。计时器工作正常。关闭表单后,即使我重新创建 Timer 对象,计时器也不会触发事件。我已将表单配置为永不关闭:
void MainFormFormClosing(object sender, FormClosingEventArgs e)
// never close
e.Cancel = true;
// only hide
this.Visible = false;
如何让计时器触发事件?我做错了什么?
【问题讨论】:
当表单关闭时,您需要定时器触发什么? 因为我稍后会使用this.Visible = true
显示表单。我需要在这段时间内触发计时器。
【参考方案1】:
我刚试过这个。 在表单上添加一个WinForms Timer组件,加载时启动计时器,并在中调试当前时间调试窗口。对我来说很好用...
public frmTimer()
InitializeComponent();
private void Form1_Load(object sender, EventArgs e)
timer1.Start();
private void timer1_Tick(object sender, EventArgs e)
Debug.WriteLine(DateTime.Now.ToLongTimeString());
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
e.Cancel = true;
this.Visible = false;
【讨论】:
我终于设法使用System.Timers.Timer
使其工作。以上是关于表单关闭后定时器不触发的主要内容,如果未能解决你的问题,请参考以下文章