gpt4 book ai didi

c# - 计时器间隔小于滴答事件中的函数

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

我有一个 timerinterval 有 10 秒,在 timer_Tick 事件上,我做了一些通常需要大约一秒钟的事情,但有时它需要90多秒。它将如何行动?此事件是否同步等待 eventhandler 完成执行?我测试了,但我仍然需要一个答案...

private void checkTimer_Tick(object sender, EventArgs e)
{
MessageBox.Show("Test");
for (int i = 0; i < 2000000000; i++)
{

}
MessageBox.Show("Test");
}

当我在显示第一个勾号 MessageBox 后对其进行测试时。 我没有点击“确定”,而是等待另一个勾选。另一个 MessageBox 显示在秒数上,依此类推......

MSDN Documentation我读到它是同步的...有什么想法吗?

最佳答案

我通过在滴答事件开始时禁用定时器并在滴答事件结束时启用定时器来解决这个问题。像这样

private void checkTimer_Tick(object sender, EventArgs e)
{
checkTimer.Enabled = false;
MessageBox.Show("Test");
for (int i = 0; i < 2000000000; i++)
{

}
MessageBox.Show("Test");
checkTimer.Enabled = true;
}

关于c# - 计时器间隔小于滴答事件中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11737056/

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