Timer doesn't fire after Form closed

2019-09-07 06:14发布

I have a .NET form with a System.Windows.Forms.Timer declared using the VS designer. The timer works fine. After I close the form, the timer doesn't fire events even if I recreate the Timer object. I've configured the Form to never close using this:

    void MainFormFormClosing(object sender, FormClosingEventArgs e)
    {
        // never close
        e.Cancel = true;

        // only hide
        this.Visible = false;

    }

How do I make the timer fire events? What am I doing wrong?

标签: c# .net timer
1条回答
神经病院院长
2楼-- · 2019-09-07 06:45

I just tried this one. Added a WinForms Timer component on the form, start timer on load, and debug current time in debug window. Workes fine for me...

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;
}
查看更多
登录 后发表回答