如何让C#中的Messagebox等待?

时间:2017-01-27 20:02:00

标签: c# messagebox

示例:当我点击Button时,我希望Programm在MessageBox弹出之前等待4个Secons :) 这是什么代码?谢谢 :) 我用计时器尝试了它,但当我按下按钮时,MessageBox会自动弹出

1 个答案:

答案 0 :(得分:2)

正如JDro04所指出的,您可以使用Thread.Sleep来做延迟。但是如果你从主线程中执行它,你的应用程序将会挂起。所以你可以在单独的线程中做延迟并在主线程中调用MessageBox.Show,这里是片段:

private void Button1_Click(object sender, RoutedEventArgs e)
{
    Task.Factory
        .StartNew(() => Thread.Sleep(4000))
        .ContinueWith(
            continuationAction: _ => { MessageBox.Show("My message!"); /* put rest of your code here */ },
            cancellationToken: CancellationToken.None,
            continuationOptions: TaskContinuationOptions.None,
            scheduler: TaskScheduler.FromCurrentSynchronizationContext());
}