Splash Screen au chargement de l'application [C#] - C#/.NET managed - Programmation
Marsh Posté le 30-01-2006 à 12:48:18
le mieux est d'afficher le splash dans un thread séparé.
edit: y'en a un excellent ici : http://www.codeproject.com/csharp/ [...] Screen.asp
Marsh Posté le 30-01-2006 à 12:53:50
Actuellement, j'ai ça :
Code :
|
Ca a pas l'air de marcher...
En plus j'ai ma spalshscreen qui reste ouverte en arrière fond (invisible)
Marsh Posté le 30-01-2006 à 13:22:58
Si tu est sur le framework 2.0, je te conseille même d'utiliser un BackGroundWorker, bien plus flexible (encore !) que les threads sous .net
Marsh Posté le 30-01-2006 à 14:44:57
Ca marche tout bieng
(en plus je doit avoir un bug quelquepart, du coup le thread d'affichage de la splashscreen met du temps à mourrir, et ça fait donc la temporisation désirée )
Comme dirait Joce : "It's not a bug, it's a feature©"
Marsh Posté le 30-01-2006 à 12:37:11
Salut,
J'ai écrit une petite application d'analyse de logs.
Durant la phase d'initialisation, je me connecte à la base, puis je fais un certain nombre de requêtes afin de remplir les critères de filtres.
Actuellement, ma table de logs est petite (quelques milliers de lignes) et bourrée d'index (y'en a plus que de champs )
Du coup ça dure quelques milli-secondes.
Cependant, quand l'appli qui génère les logs sera déployée chez les utilisateurs, ce seront quelques dizaines (centaines ?) de milliers de lignes générées par jour. Ainsi, le chargement va être plus long assez rapidement.
J'ai donc créé une form qui va me servir de splash screen.
Le but du jeu c'est :
Au démarrage de ma form principale, ouverture de la splash screen, et à la fin du chargement de la form principale, cacher la splash screen.
Cependant, tant que l'appli ne ramme pas au démarrage, je veux que la splash screen s'affiche un ou deux secondes (histoire d'avoir le temps de la voir).
Comment faire ?
J'ai tenté de l'ouvrir en modale, mais ça ne marche pas (ça bloque l'appli derrière).
En affichage "normal", soit j'ai pas le temps de la voir, soit ça marche pas, mais en tout cas ça affiche pas la splash screen
Est-ce que vous avez une idée de comment faire ça ?