Windows窗体在显示消息之前等待5秒钟

Zai*_*ain 0 c# sleep timer winforms

我想让用户在用户可以做某事之前等待5秒但是我遇到了麻烦,因为我不想这样做,Thread.Sleep(5000);因为我希望加载表单并且功能可以查看但是我没有想要允许用户为这5秒做任何事情(他们可以尝试点击按钮,但不会发生任何事情).

由于回答者,我做了这项工作(由于属性,我的代码略有不同):

var t = Task.Delay(1000) //1 second/1000 ms
t.Wait();
Run Code Online (Sandbox Code Playgroud)

Síl*_* N. 9

那么你可以随时禁用所有表格,并在5秒后启用它...

(使用.net framework 4.5的示例)

//Your window Constructor
public MyWindow()
{
    InitializeComponent();

    this.Cursor = Cursors.WaitCursor; 
    this.Enabled = false;
    WaitSomeTime();

    //load stuff
    .....
}

public async void WaitSomeTime()
{
    await Task.Delay(5000);
    this.Enabled = true;
    this.Cursor = Cursors.Default; 
}
Run Code Online (Sandbox Code Playgroud)