延迟几秒钟

时间:2017-12-13 23:39:03

标签: c# delay

我一直在想如何延迟。我尝试过thread.sleep,但它会停止项目。我想做点什么:

Form4 ss = new Form4();
ss.Show();
wait(4000) //4000 miliseconds
ss.close();

我试过了await Task.Delay(4000);,但它说:  我有错误的返回类型 请帮忙

3 个答案:

答案 0 :(得分:1)

您可以使用Task.Delay()

Form4 ss = new Form4();
ss.Show();
await Task.Delay(4000);
ss.Close();

答案 1 :(得分:1)

像这样装饰你的方法

public async Task MyWaitMethod() 
{
    await Task.Run(async () => //Task.Run automatically unwraps nested Task types!
    {
        Console.WriteLine("Start");
        await Task.Delay(5000);
        Console.WriteLine("Done");
    });
    Console.WriteLine("All done");
}

如果您不理解第一个示例,请使用像这样的简单直接

public async Task MyWaitMethod() 
{
    await Task.Delay(5000);
}

答案 2 :(得分:0)

使用计时器?

创建一个间隔为4000的计时器并设置其tick事件以关闭表单。用Timer启动事件替换pyspark。确保在关闭表单后也停止计时器。