Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 闪屏定时器_C#_Wpf_Timer_Splash Screen - Fatal编程技术网

C# 闪屏定时器

C# 闪屏定时器,c#,wpf,timer,splash-screen,C#,Wpf,Timer,Splash Screen,实际上,我试图在我的WPF应用程序中添加一个启动屏幕。这很容易: SplashScreen s = new SplashScreen("/Images/Agrar.png"); s.Show(true); 我的问题是,我希望启动屏幕显示大约10秒,但我的应用程序不需要这么长时间来加载 所以我考虑了一下Timer类并尝试了一下,但我不知道如何将它与闪屏结合起来。 有更好的解决办法吗?它是如何与定时器一起工作的?因为我没有找到一个选项来说明计时器运行时应该发生什么 您可以尝试将主线程休眠10秒(如

实际上,我试图在我的WPF应用程序中添加一个启动屏幕。这很容易:

SplashScreen s = new SplashScreen("/Images/Agrar.png");
s.Show(true);

我的问题是,我希望启动屏幕显示大约10秒,但我的应用程序不需要这么长时间来加载

所以我考虑了一下Timer类并尝试了一下,但我不知道如何将它与闪屏结合起来。
有更好的解决办法吗?它是如何与定时器一起工作的?因为我没有找到一个选项来说明计时器运行时应该发生什么

您可以尝试将主线程休眠10秒(如果飞溅可见,用户无论如何都不会使用您的应用),或者在一段时间内淡出飞溅:

    SplashScreen splash = new SplashScreen("/Images/Agrar.png");
    splash.Show(false);
    Thread.Sleep(10000);
    splash.Close( TimeSpan.FromSeconds(20)); //fade out over 20 seconds

使用API的最佳方法是

  SplashScreen splash = new SplashScreen("splashscreen.jpg");
  splash.Show(false);
  splash.Close(TimeSpan.FromMilliseconds(2));
  InitializeComponent();

为什么你会不必要地强制用户使用闪屏?这应该是一种广告……”“我希望闪屏显示大约10秒”->你确定你真的要这样做吗?当应用程序启动时,没有什么比启动屏幕更烦人的了好吧,我认为10秒钟有点过头了,但是是的,我想展示几秒钟。。试试看这个,可能会有帮助。我真的不认为
线程。睡眠
是个好主意。。。显示启动屏幕已经很烦人了,但是如果你用
线程“锁定”你的应用程序。Sleep
,它甚至不能做一些有用的工作,比如在后台加载资源,同时烦扰用户…>___<代码>任务.延迟
线程.睡眠
的首选替代方案,因为它是异步的,不会阻塞UI。