2009-04-06 6 views
4

Je vais entrer un écran de démarrage dans une application sur laquelle je travaille actuellement et qui consiste uniquement en un formulaire que nous appellerons frmMain pour l'instant. Je veux mettre en place un écran de démarrage (frmSplash) mais j'ai besoin de conseils quant à la meilleure façon de l'implémenter. Le but de l'écran de démarrage sera de charger les paramètres nécessaires dans les zones de texte, les cases à cocher, etc. en fonction des derniers paramètres de la dernière fermeture du programme. Voici ma question.C#: Quelle est la méthode idéale pour ajouter un écran de démarrage à un projet?

Dois-je laisser la charge principale de forme, mais gardez invisible à l'utilisateur puis appeler l'écran de démarrage qui se déroulera et charger tous les paramètres dans la principale forme?

Si oui, comment pourrais-je faire ce qui précède? Charger le frmSplash dans l'événement frmMain_Load? Je prévois de garder l'écran de démarrage visible pendant au moins 3 secondes. Comment est-ce que je lui donnerais l'effet de pause de sorte qu'il reste pendant 3 secondes pendant qu'il récupère les arrangements du fichier de paramètres?

+1

La bonne façon, bien sûr, est de rendre votre charge de programme assez vite qu'il n'a pas besoin d'un écran de démarrage pour garder l'utilisateur divertir. –

Répondre

4

Oui, il est une bonne pratique d'utiliser un écran de démarrage pour cacher l'initialisation du formulaire. Voici un très bon tutoriel qui devrait vous lever et courir:

Creating a Splash Screen in C#

+0

Ce lien est cassé, et une recherche rapide sur Google n'a pas révélé une alternative. –

+0

Celui-ci, peut-être ??? http://www.forteach.net/Programming/dotnet/26591.html –

1

Je suggère d'aller dans l'autre sens. Avoir frmSplash démarrer, analyser les paramètres et les transmettre à un nouveau frmMain caché. Et une fois que frmMain a terminé le chargement (ou après 3 secondes) le montrer.

Ou tout simplement avoir l'écran de démarrage créer un caché frmMain et montrer une fois qu'il est fait du chargement et dans un état valide.

3

Il est probablement plus propre de ne pas charger les paramètres sous forme de démarrage, mais de garder ce juste pour l'affichage. Afficher le formulaire splash et charger les paramètres dans le formulaire principal.

1

Il y a un exemple here, et une avec de meilleures explications here.

Notez qu'aucun de ces exemples n'effectue de «pré-chargement», mais vous pouvez faire tout cela dans le thread principal pendant que le thread splash fait son travail.

Espérons que c'est le genre de chose que vous recherchez. Bonne chance!