更改启动画面的持续时间?

6

我最近在我的WPF应用程序中添加了启动画面。我的应用程序加载速度很快,所以这个画面只显示了几毫秒。我想知道如何延长启动画面显示的时间。我希望它能显示两秒钟。


4
我不喜欢使用一款应用程序,它为了展示我不关心的内容(例如启动画面)而故意让自己感觉更慢。 - Uwe Keim
@UweKeim 有什么想法可以让它变长一些吗? - deception1
完全取消启动画面怎么样? - Uwe Keim
@UweKeim 很不幸,这在我的应用程序中是必须的。我不能偏离我的准则。 - deception1
3个回答

7

如果在 Application.Startup 事件中触发启动画面,您将完全控制它。(请确保使用 false 调用 .Show())

private void Application_Startup(object sender, StartupEventArgs e)
{
   SplashScreen screen = new SplashScreen("splashScreen.png");
   screen.Show(false);
}

当您想要关闭启动屏幕时,只需调用screen.Close()即可。


1
我应该把这个放在 app.xaml.cs 文件里吗? - deception1
正确。您可以在此处找到如何执行此操作的示例:http://msdn.microsoft.com/zh-cn/library/system.windows.application.startup.aspx(您还需要在XAML中附加事件)。 - Rob

5
您可以在主窗口的InitializeComponent之前调用System.Threading.Thread.Sleep()。这样做是可行的。
类似于这样:
 public MainWindow()
    {
        System.Threading.Thread.Sleep(2000);
        InitializeComponent();}

2
最好的方式是使用API。
  SplashScreen splash = new SplashScreen("splashscreen.jpg");
  splash.Show(false);
  splash.Close(TimeSpan.FromMilliseconds(2));
  InitializeComponent();

Close(TimeSpan) 使用指定的时间间隔作为淡出时间进行关闭操作。OP希望增加启动画面的持续时间,而不是其淡出时间。 - Teejay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接