【发布时间】:2011-11-12 18:25:06
【问题描述】:
我不确定我想做的是否合适,所以我会稍微解释一下。
我们有一个需要一段时间才能加载的大型应用程序。所以我们有一个启动画面。 启动画面会导致远程桌面(终端服务器)上的加载时间过长。 因此,为了缓解这种情况,我们希望在 RDP 上加载时隐藏启动画面。 但是我们仍然需要至少向用户显示应用程序正在加载。
所以,我想也许只是在任务栏(不是系统托盘)中显示一些东西,因为一旦应用程序完全加载它就会消失(并被主窗体的任务图标取代)。 然而,我看过的任何 WPF 解决方案都需要一个可见的表单/窗口来显示任务栏状态。
有没有什么方法可以在任务栏中显示某些内容而不显示 WPF 窗口?
或者是否有另一种方法可以在屏幕上不显示任何内容的情况下显示应用程序加载状态?
【问题讨论】:
-
您使用的是
SplashScreen类吗?你能解释一下加载时间过长吗?可能是由于您的启动画面中的动画吗?你见过这个吗? blogs.msdn.com/b/jgoldb/archive/2010/02/27/… -
加载时间过长似乎与我们的应用程序 (WinForms) 的绘制问题有关。因为它具有大量控件,所以绘制时间更长。另外,因为它位于另一个处理 Hwnds 的框架之上。但我发现的性能问题是,当启动画面仍然可见时,应用程序的绘制时间超出了正常预期(>1 分钟)。直到闪屏被隐藏,应用程序才减少到只有 1~3 秒的绘制时间。我只能猜测两个窗口之间的 RDP 存在一些屏幕缓冲区问题。
-
不,我没有意识到有 SplsahScreen 类。我们的启动画面没有动画。只是动态的(更新加载状态的文本),带有 WPF 效果和大 PNG。移除效果并没有缩短 RDP 的加载时间。
标签: wpf taskbar splash-screen