Thread.Sleep使WPF启动画面显示更长时间

时间:2015-02-26 22:20:45

标签: wpf visual-studio-2013 splash-screen

public MainWindow()
    {
        Thread.Sleep(4000); 
        InitializeComponent();   
    }

在我的主窗口中,我放置Thread.Sleep并将其设置为4秒以创建4秒延迟,然后我的应用程序可以运行其余代码。从本质上讲,我这样做是为了让我的Splash Screen保证显示4秒,而不是应用程序花费多长时间(到目前为止不到一秒)。我只是在愚弄时试图这样做,所以我只是想知道这种方法是否有任何缺点。

我问,因为有很多问题要求人们如何让他们的Splash Screens显示更长时间。是否有一个特殊的原因我不应该这样做或为什么其他人没有尝试过这个?

1 个答案:

答案 0 :(得分:5)

要考虑的一些事情:

  • 如果你睡觉主GUI线程,你可能会导致你的启动画面停止重新绘制,如果有什么东西在它上面移动。
  • 如果主线程忙于线程休眠,Windows可能会将您的应用报告为无响应。
  • 如果您正在做额外的工作,则不需要work-time + 4s

更好的方法是使用计时器关闭启动画面。

但是,当您在初始加载期间进行一些工作时,会出现斜杠屏幕。如果你没有任何工作,可能在第一名显示闪屏是错误的想法?