5

我按照如何:将启动画面添加到 WPF 应用程序中概述的简单步骤向我的 WPF 应用程序添加启动画面。当我启动应用程序时,会显示初始图像,然后会弹出主窗口,并且初始图像会逐渐消失。

我的问题是,当主窗口弹出时,它出现在启动图像的顶部。然后当启动图像开始淡出时,启动图像再次弹出到顶部。最终结果是,当主窗口出现时,启动图像会在一瞬间消失。

如何强制主窗口出现在启动图像下方,使启动图像不会消失?

4

3 回答 3

6

在 .NET 4.0 中,重载已添加到 Show 方法中,允许在初始屏幕窗口上设置窗口样式 WS_EX_TOPMOST。在代码中显示启动画面,如下所示:

SplashScreen splash = new SplashScreen("SplashScreen.png");
splash.Show(autoClose: true, topMost: true);

我从方法中调用它

protected override void OnStartup(StartupEventArgs e)

在 App.xaml.cs 中。

“SplashScreen.png”当然是嵌入到应用程序资源中的启动图像的标识符。

于 2011-08-01T08:55:11.703 回答
1

这不是默认行为,您必须有一些手动聚焦主窗口的代码?

使用如下代码手动关闭淡入淡出可能更容易:

_splash = new SplashScreen("LoadingScreen.png");

_splash.Show(false);

_splash.Close(TimeSpan.Zero);

于 2009-10-28T06:26:57.147 回答
0

不确定这是否会有所帮助,但是如果您将启动画面的所有者设置为当前表单,那么这应该可以解决问题吗?

_splash.Owner = this;

否则你可以看这里:

启动画面示例

这也可能有帮助。

于 2010-03-17T09:37:10.923 回答