C# 闪屏定时器
实际上,我试图在我的WPF应用程序中添加一个启动屏幕。这很容易: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秒(如
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。