gpt4 book ai didi

c# - .NET 定时器控件

转载 作者:太空宇宙 更新时间:2023-11-03 16:52:53 25 4
gpt4 key购买 nike

我有一个 Windows 应用程序,它只是一个带有计时器控件的窗体。我已经设法将其追踪到以下情况:

private void timer1_Tick(object sender, EventArgs e)
{
MessageBox.Show("Test");
timer1.Enabled = false;
}

将一次又一次地打印测试,直到我停止程序。然而:

    private void timer1_Tick(object sender, EventArgs e)
{
//MessageBox.Show("Test");
textBox1.Text += "t";
timer1.Enabled = false;
}

只需在文本框中添加一个“t”即可。

谁能告诉我为什么 MessageBox.Show 导致函数在禁用计时器之前返回?

最佳答案

调用 MessageBox.Show 会阻止 timer1_Tick 的执行,直到您关闭消息框,所以调用 set timer1.Enabled = false; 在那之后才会发生。因此,计时器仍在运行,因此每次计时器触发时,timer_Tick` 仍会继续被调用,直到您在其中一个消息框上点击“确定”。

如果您想显示消息框以停止计时器再次触发,您需要的是:

private void timer1_Tick(object sender, EventArgs e)
{
timer1.Enabled = false;
MessageBox.Show("Test");
}

关于c# - .NET 定时器控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3306762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com