-4

我想在我的 Winform C# 项目中保持一个函数连续运行,直到窗体窗口关闭。我不想把它放在一个很长的计时器中,然后一次又一次地调用它。我该怎么办?

我需要这样的东西来继续验证表单是连续打开还是关闭:

while(this.close() == false)
{
 my_func();
}

上面的代码肯定是错误的,但我写这个是为了让你知道我想要什么。

4

2 回答 2

4

请记住,您可以在表单上使用 FormClosing 和 FormClosed 事件。

处理其中一个比连续轮询表单的状态要高效十亿倍......

于 2013-07-05T22:30:25.083 回答
2

最后我想到了这个想法,因为它不会消耗太多 CPU 并且运行效率很高,尽管我试图避免使用计时器,但这似乎是一个最简单的选择:

public Form1()
{
    InitializeComponent();
    timer.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
   my_func();
}

我们可以将计时器的时间间隔属性设置为一个小值,例如 200 毫秒或其他值,因此my_func()几乎可以连续运行,直到表单关闭。

于 2013-07-06T10:21:01.313 回答