仅使用Timer一次

zai*_*aqi 8 c# timer winforms

我想在主表单初始化后的1秒钟内只使用一次计时器.我认为以下会有一个消息框说"Hello World"只有一次,但实际上一个新的消息框每隔一秒就会显示"Hello World".

为什么这样?我t.Stop()参加了嘀嗒事件.另外,我是否需要以某种方式处理计时器以避免内存泄漏?

        Timer t = new Timer();
        t.Interval = 1000;                
        t.Tick += delegate(System.Object o, System.EventArgs e)
                        { MessageBox.Show("Hello World"); t.Stop(); };

        t.Start();   
Run Code Online (Sandbox Code Playgroud)

请帮助并显示是否有更好的方法来做到这一点?谢谢.

Yur*_*ich 9

替换MessageBox.Show("Hello World"); t.Stop();t.Stop();MessageBox.Show("Hello World");.因为你没有及时按OK,计时器已经再次打勾并且你从未到达停止代码.