7 votes

Créer un écran d'accueil semblable à celui de Visual Studio 2010

J'avais l'intention de créer un écran d'accueil comme celui de Visual Studio 2010 pour mon application de bureau (n'hésitez pas à utiliser n'importe quelle version de C#/VB.NET/CLR).

Visual Studio 2010 splash screen
(source : <a href="http://blogs.msdn.com/blogfiles/visualstudio/WindowsLiveWriter/BehindtheScenesSplashScreen_CC39/image_4.png" rel="nofollow noreferrer">msdn.com </a>)

D'après les blogs de Visual Studio, l'écran d'accueil n'a pas été développé à l'aide de WPF car cela impliquerait le chargement des bibliothèques CLR et WPF, ce qui entraînerait un retard important dans le chargement de l'application. Par conséquent, ils sont revenus à C++ et à Win32 stack pour faire de même pour des raisons de performance.

Existe-t-il une option réalisable pour les développeurs Windows Forms ou WPF pour exploiter la même image de marque ? L'idée est d'avoir une image de marque riche similaire dans un écran d'accueil sans perdre en performance et en temps de démarrage.

L'utilisation de PNG et d'effets de transparence n'est pas utile sous Windows Forms (un problème connu, et j'ai lu des questions connexes sur ce site à ce sujet). Je tiens à souligner qu'il s'agit d'un écran d'accueil et que le temps de démarrage ne doit pas être compromis.

4voto

thelost Points 4691

4voto

Bill Points 1133

Les gars qui l'ont écrit ont fait un article dessus, Dans les coulisses : L'écran de projection (2009-11-10)...

0voto

F.Saad Points 22

J'ai dû faire quelque chose de similaire avec un correcteur pour une jeu en ligne massivement multijoueur (MMO), et nous aimons les jolis écrans d'accueil dans les jeux. J'ai créé un événement ONLOAD personnalisé (au lieu de l'événement OnShown ou Load qui présentent tous deux quelques inconvénients dans ce cas) et j'y ai mis mon code pour afficher la jolie image :

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
}

En ce qui concerne l'image, existe-t-il un moyen d'afficher les fichiers PNG en utilisant le comportement natif (pour une transparence partielle comme dans l'écran d'accueil de Visual Studio).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X