bonjour,
je souhaite utiliser un écran de demarrage et j'aimerai bien savoir si il y a un événement qui est générer lors du démarrage de l'application ou d'un formulaire pour en profiter à afficher le start up screen.
merci d'avance les amis.
bonjour,
je souhaite utiliser un écran de demarrage et j'aimerai bien savoir si il y a un événement qui est générer lors du démarrage de l'application ou d'un formulaire pour en profiter à afficher le start up screen.
merci d'avance les amis.
Je ne vois pas bien ce que tu souhaites vraiment faire mais si tu veux il y a cette fonction qui s'exécute au démarrage de l'application au niveau de ApplicationEvents.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Protected Overrides Function OnInitialize(ByVal commandLineArgs As System.Collections.ObjectModel.ReadOnlyCollection(Of String)) As Boolean Return MyBase.OnInitialize(commandLineArgs) End Function
si j'ai bien compris tu veux un écran d'attente de chargement de l'application dans lequel tu mets numéro de version, licence, ...
déjà tu peux l'ajouter via visual studio, bouton droit sur ton projet, ajouter, nouvel élément, choisir "SplashScreen".
personnellement je n'utilise pas cette option car je veux tout maîtriser par le code et du coup voila ce que je fais :
- une classe FrmPrincipale qui est le formulaire de démarrage de mon application
- une classe FrmSplash qui va contenir le code, les informations, ... du splash screen
dans ton main() c'est à dire le point d'entrée de ton programme tu dois ajouter la gestion de cet écran :
Maintenant bien sûr il faut coder "StartSplash" dans le formulaire principale :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Dim fprincipale As New FrmPrincipale() '--Thread pour le splash Dim splashThread As New Threading.Thread(New Threading.ThreadStart(AddressOf fprincipale.StartSplash)) splashThread.Start() '--je lance le splash avant tout System.Windows.Forms.Application.Run(fprincipale) '--je lance le formulaire principale If splashThread.IsAlive Then splashThread.Abort()
il faut bien sûr pouvoir arrêter le formulaire splash une fois le chargement est terminé, du coup une fonction CloseSplash dans le formualire principale :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 '--on doit accéder au formulaire splash partour Private Shared splash As FrmSplash = Nothing '--Faire tourner le formulaire splash Public Sub StartSplash() '--instancier le nouveau splash splash = New FrmSplash() '--fait lancer le formulaire Windows.Forms.Application.Run(splash) End Sub 'StartSplash
Alors si tu as bien suivi tu me diras qu'il manque quelques choses
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub CloseSplash() If splash Is Nothing OrElse splash.IsDisposed Then Return '--Fermer le formulaire splash splash.Invoke(New EventHandler(AddressOf splash.KillMe)) splash.Dispose() splash = Nothing End Sub
le code de la classe Frmsplash et notamment la fonction KillMe et donc :
il reste à faire appel à la fonction closesplash quand on pense que le chargement est terminé, personnellement je charge mes objets dans l'évènement "shown" de mon formualire principale, du coup quand je termine je fais tout simplement appel à CloseSplash()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ''' <summary>Ferme le splash</summary> Public Sub KillMe(ByVal o As Object, ByVal e As EventArgs) Me.Close() End Sub
il faudra bien sûr gérer les cas de bugs et bien tester ceci
mon blog http://www.3click-solutions.com/actualites/
MCP VB.NET (70-305) - (70-306) - (70-310)
Développeur PHP / Wordpress
merci pour vos réponses les amis.
m_mas, tu veux dire par ca qu'en peux utiliser les threads d'execution pour gérer le chargement de l'application? n'est ce pas?
désolé mais les threads pour moi sont pareille aux timers puisque ils sont traiter de maniere manuel hors se que je cherche à faire c'est afficher tand que l'application se charge cette ecran de demarrage qui fera patienter l'utilisateur.
je t'ai donné 2 pistes pour l'écran de démarrage mais tu n'as retenu que la deuxième que j'ai expliqué voici un lien pour la première piste qui est créer automatiquement un splashscreen ([ame="http://www.google.com/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&hs=DIV&q=VB.NET+splashscreen&btnG=Rechercher&lr=&aq=f&oq="]google[/ame]) avec VB.NET
mon blog http://www.3click-solutions.com/actualites/
MCP VB.NET (70-305) - (70-306) - (70-310)
Développeur PHP / Wordpress
c'est justement cette piste que je cherche à la base c'est pourquoi je cherchais un événement généré avec le chargement de l'app afin que je puisse faire appel à un splashscreen.
par exemple formclose et formclosing l'un quand une form est en cour de fermeture et l'autre quand elle est fermée.
une idée qui va avec cette piste.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager