创建一个类似Visual Studio 2010的启动画面

时间:2010-07-31 16:33:38

标签: c# .net winforms performance splash-screen

我打算为我的桌面应用程序创建一个与Visual Studio 2010相似的splash screen(随意使用任何版本的C#/ VB.NET / CLR)。

Visual Studio 2010 splash screen http://blogs.msdn.com/blogfiles/visualstudio/WindowsLiveWriter/BehindtheScenesSplashScreen_CC39/image_4.png

根据Visual Studio博客,启动屏幕不是使用WPF开发的,因为它会导致CLR和WPF库加载,从而导致应用程序加载的大量延迟。因此,出于性能原因,他们还原为C ++和Win32堆栈来做同样的事情。

Windows Forms或WPF开发人员是否有可行的选项来利用相同的品牌?我们的想法是在闪屏中拥有类似的丰富品牌,而不会失去性能和启动时间。

使用PNG和透明效果对Windows窗体没有帮助(一个已知问题,我已经在此网站上阅读了相关问题)。只是强调:它是一个闪屏,所以启动时间不会受到影响。

3 个答案:

答案 0 :(得分:4)

答案 1 :(得分:4)

写这篇文章的人实际上发了帖子, Behind the Scenes: The Splash Screen (2009-11-10)......

答案 2 :(得分:0)

我必须用massively multiplayer online game (MMO)的修补程序做类似的事情,我们喜欢在游戏中漂亮的闪屏。我做了一个自定义的ONLOAD事件(而不是OnShown或Load事件,在这种情况下都会带来一些不便)并将我的代码放在那里显示漂亮的图片:

protected override void OnLoad(EventArgs args)
{
    base.OnLoad(args);
    Application.Idle += new EventHandler(OnLoaded);
}

private void OnLoaded(object sender,
                      EventArgs args)
{
    Application.Idle -= new EventHandler(OnLoaded);

    // TODO: Add relevant code here
}

至于图片,肯定有一种方法可以使用本机行为显示PNG文件(对于Visual Studio初始屏幕中的部分透明度)。