我目前正在开发一个应用程序,我想实现一个时间延迟。我不想使用 System.Threading.Thread.Sleep(x); 当我读到这个时,线程会停止(UI 冻结)
我目前写的代码是:
public void atimerdelay()
{
lblStat.Text = "In the timer";
System.Timers.Timer timedelay;
timedelay = new System.Timers.Timer(5000);
timedelay.Enabled = true;
timedelay.Start();
}
我知道 atimerdelay() 确实被调用(使用 lblStat),但它们没有 5 秒的延迟。我已阅读http://msdn.microsoft.com/en-us/library/system.timers.timer.aspx但我无法弄清楚为什么上面的代码不起作用。
附加信息 - (为 Hamlet Hakobyan 添加)
该应用程序是一个“卡片检查器”应用程序(大学项目 - 没有使用或存储真实信息)。一旦用户填写了所有相关信息并单击“检查”,就会调用验证方法列表。在调用其中任何一个之前,执行 ping 以确保计算机上有实时 Internet 连接。我想在 ping 和验证开始之间添加一点延迟。