Я намеревался создать экран-заставку как тот, носивший Visual Studio 2010 для моего настольного приложения (не стесняйтесь использовать любую версию C#/VB.NET/CLR).
(источник: msdn.com)
Согласно блогам Visual Studio, экран-заставка не был разработан с помощью WPF, так как он вовлечет библиотеки CLR и WPF для загрузки порождения существенной задержки загрузки приложения. Следовательно, они вернулись к C++ и стеку Win32, чтобы сделать тот же самый по причинам производительности.
Существует ли выполнимая опция, доступная для Windows Forms или разработчика WPF для усиления того же брендинга? Идея состоит в том, чтобы иметь подобный богатый брендинг в экране-заставке, не освобождая время производительности и запуска.
Используя PNGs и эффекты прозрачности не помогает на Windows Forms (известная проблема, и у меня есть связанные с чтением вопросы на этом сайте для этого). Только подчеркнуть: это - экран-заставка, таким образом, время запуска не может быть поставлено под угрозу.
Взгляните на Прозрачный экран-заставку . Или Экран-заставка C # .
Ребята, которые написали это, на самом деле сделали пост об этом, Behind the Scenes: The Splash Screen (2009-11-10)...
Мне пришлось сделать нечто подобное с патчером для массовой многопользовательской онлайн-игры (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).