Le moyen le plus simple serait de créer un formulaire et lui permettre de se tuer après un certain temps, il est montré. Mais, les choses deviennent plus compliquées si vous voulez que ce formulaire puisse afficher une progression de chargement de l'application pendant l'initialisation de l'application, et disparaisse par exemple 3 secondes après que l'application soit vraiment prête à l'emploi. L'idée serait de mettre l'écran de démarrage sur un fil complètement différent de l'application principale. Il est fonction de fil devrait aller comme ça:
static void ThreadFunc()
{
_splash = new Splash();
_splash.Show();
while (!_shouldClose)
{
Application.DoEvents();
Thread.Sleep(100);
if (new Random().Next(1000) < 10)
{
_splash.Invoke(new MethodInvoker(_splash.RandomizeText));
}
}
for (int n = 0; n < 18; n++)
{
Application.DoEvents();
Thread.Sleep(60);
}
if (_splash != null)
{
_splash.Close();
_splash = null;
}
}
Ensuite, vous pouvez l'utiliser pour montrer et cacher:
static public void ShowSplash()
{
_shouldClose = false;
Thread t = new Thread(ThreadFunc);
t.Priority = ThreadPriority.Lowest;
t.Start();
}
internal static void RemoveSplash()
{
_shouldClose = true;
}
double possible de [C# Splash Problème d'écran] (http://stackoverflow.com/questions/392864/c-splash-screen-problème) –