IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

SplashScreen trop long


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 75
    Par défaut SplashScreen trop long
    Bonsoir,

    lors du lancement de mon application (Form_load) mon splashScreen se lance. Mon application étant autonome, la methode load est donc assez lourde et je pense que le problème vient de là.
    Mais je ne sais pas comment réduire ce temps, sinon d'enlever des choses de load mais du coup elles ne se lanceront plus.

    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    t'utilises Winforms ou WPF ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 75
    Par défaut
    winform

  4. #4
    Invité
    Invité(e)
    Par défaut
    En WPF, c'est plus facile.
    Je ne sais pas pourquoi tu lances ton Splash Screen dans le gestionnaire d'évènement Form_Load.

    En Windows Forms voici ce que je faisais et qui n'a jamais pris du temps et du coup la durée de mon SplashScreen c'est moi qui la définie :


  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 75
    Par défaut
    En revanche je code en VB.NET mais merci pour ta réponse, sinon le splachScreen se lance automatiquement au lancement de l'application, c'est une option Visual studio 2010 mais a priori c'est en même temps que le Form_load, plus je met de choses a traiter plus le splashScreen est long.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par link_915 Voir le message
    En revanche je code en VB.NET mais merci pour ta réponse, sinon le splachScreen se lance automatiquement au lancement de l'application, c'est une option Visual studio 2010 mais a priori c'est en même temps que le Form_load, plus je met de choses a traiter plus le splashScreen est long.
    Bon, vu que ce sont tes traitements qui prennent du temps alors t'utilises un BackgroundWorker qui s'en chargera et dans le gestionnaire d'évènement RunWorkerCompleted tu désactives le SplashScreen.

  7. #7
    Membre émérite Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Par défaut
    Citation Envoyé par link_915 Voir le message
    Bonsoir,

    lors du lancement de mon application (Form_load) mon splashScreen se lance. Mon application étant autonome, la methode load est donc assez lourde et je pense que le problème vient de là.
    Mais je ne sais pas comment réduire ce temps, sinon d'enlever des choses de load mais du coup elles ne se lanceront plus.

    Merci d'avance.
    En même temps un SplachScreen s'est fait pour ça non? Faire patienter pendant un certain temps afin d'initialiser des classes, charger des données,....
    Combien de temps dure l'affichage du SplachScreen, 5s, 10s, 60s?

    De toute façon, je ne vois pas comment réduire ce temps si tu veux que l'application fonctionne si ce n'est d'utiliser un autre thread comme le propose h2s84

  8. #8
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut retarder splashscreen
    bonjour
    en vb.net
    projet->applications->evenements application >click
    tes dans le fichier ApplicationEvents.vb (masque par defaut dans l'explorateurs de solutions).
    dans ta classe tu rajoutes ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    Namespace My
     
        ' Les événements suivants sont disponibles pour MyApplication*:
        ' 
        ' Startup*: déclenché au démarrage de l'application avant la création du formulaire de démarrage.
        ' Shutdown*: déclenché après la fermeture de tous les formulaires de l'application. Cet événement n'est pas déclenché si l'application se termine de façon anormale.
        ' UnhandledException*: déclenché si l'application rencontre une exception non gérée.
        ' StartupNextInstance*: déclenché lors du lancement d'une application à instance unique et si cette application est déjà active. 
        ' NetworkAvailabilityChanged*: déclenché lorsque la connexion réseau est connectée ou déconnectée.
        Partial Friend Class MyApplication
     
            Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
     
            End Sub
    'ajoute cette overrides 
            Protected Overrides Function OnInitialize( _
         ByVal commandLineArgs As  _
         System.Collections.ObjectModel.ReadOnlyCollection(Of String) _
     ) As Boolean
                'rajoute cette ligne à l'avenant pour le retard souhaite 
                'Set the display time to 5000 milliseconds (5 seconds). 
                Me.MinimumSplashScreenDisplayTime = 5000
                Return MyBase.OnInitialize(commandLineArgs)
            End Function
     
        End Class
     
     
    End Namespace
    ca existe en vb.net en standard la fonction My.Application.MinimumSplashScreenDisplayTime (regarde msdn lib)....
    bon code....

  9. #9
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Par défaut
    Si c'est effectivement le load qui prend du temps il n'y a pas de miracle.

    Soit tu optimises le chargement des données (vérifier qu'il n'y a pas de superflu, chargement à la volée dans l'application, traitement parallèle, optimisation du code).

    Soit tu change de machine pour une plus puissante.

    Après il faut voir ce que tu appelles long à charger... (Mieux vaut perdre 10 secondes au démarage si ça permet d'en gagner 50*1 pendant l'utilisation)

  10. #10
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut splashscreen ,temps de retard par defaut
    bonjour
    temps de retard par defaut dans splashscreen est de 2 secondes.
    bon code..........

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Enregistrement trop long dans ACCESS (ALTER TABLE)
    Par Arrown dans le forum Bases de données
    Réponses: 2
    Dernier message: 29/07/2004, 20h20
  2. Mot trop long
    Par Toudy dans le forum ASP
    Réponses: 6
    Dernier message: 28/07/2004, 17h51
  3. Chargement de page trop long
    Par t_o_7_ dans le forum ASP
    Réponses: 2
    Dernier message: 19/09/2003, 18h58
  4. [TComboBox] Contenu trop long pour la zone d'affichage
    Par bebeours dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/09/2003, 16h21
  5. Arrêter un prog si temps de connexion trop long
    Par jakouz dans le forum Langage
    Réponses: 4
    Dernier message: 22/10/2002, 18h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo