2010-03-16 4 views
4

Je ne souhaite qu'un simple exemple d'écran de démarrage.Exemple d'écran de démarrage

Obtenez le code, insérer ma photo, ajouter 2 lignes de code pour charger et terminer.

Mais tout ce que je peux google est si complexe, c'est trop. Je ne veux qu'un formulaire avec une image qui devient de plus en plus transparente jusqu'à ce qu'il se cache automatiquement et que ma fenêtre soit affichée.

J'ai essayé le "prettygoodsplashscreen" de Codeproject, mais ne fonctionne pas pour moi.

Lang est C# .net 2.0

+1

dupe: http://stackoverflow.com/questions/1673568/splash-screen-display-method-best-practice-c –

+0

http://stackoverflow.com/questions/84211/fade-splash-screen-in-and -out
http://www.dotnetspider.com/forum/131946-splash-screen-c.aspx
http://stackoverflow.com/questions/48916/multi-threaded-splash-screen-in-c – zapping

Répondre

10

Création de l'écran de démarrage peut être aussi simple ou complexe que vous faites/voulez qu'il soit.

private void Form1_Load(object sender, System.EventArgs e) 
{ 
    // Display the splash screen 
    var splashScreen = new SplashForm(); 
    splashScreen.Show() 

    // On the splash screen now go and show loading messages 
    splashScreen.lblStatus.Text = "Loading Clients..."; 
    splashScreen.lblStatus.Refresh(); 

    // Do the specific loading here for the status set above 
    var clientList = _repository.LoadClients(); 

    // Continue doing this above until you're done 

    // Close the splash screen 
    splashScreen.Close() 
} 

Il est évident que l'écran de démarrage lui-même est quelque chose que vous auriez à décider comment vous voulez regarder ...

2

Pour que votre écran d'accueil pour être écran de démarrage zonale, il ne devrait pas avoir un autre code que l'affichage de ce qu'il fait (chargement des clients, par exemple) ou montrer la progression du démarrage de l'application grâce à un contrôle ProgressBar.

Voici les étapes:

  1. instancier un BackgroundWorker pour lequel vous lancer le chargement dans la méthode BackgroundWorker.DoWork();
  2. Au sein de votre événement principal Form_Load(), appelez la méthode BackgroundWorker.RunWorkerAsync();
  3. Toujours dans votre méthode Form_Load() événement, après votre appel à RunWorkerAsync(), instancier et afficher votre écran de démarrage à votre utilisateur SplashForm.ShowDialog()
  4. état des progrès réalisés à partir de votre LoadClient(), par exemple, avec l'événement BackgroundWorker.ProgressChanged() (vous pouvez également signaler ce que fait votre BackgroundWorker ("chargement de clients ...");
  5. Dans votre événement RunWorkerCompleted(), vous pouvez Splash.Close() votre écran de démarrage .

J'ajouterai quelques détails plus tard. Je dois y aller maintenant.

+0

Auriez-vous un exemple de code? –