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 :

Fenêtre d'attente pour traitement dans une Class


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Par défaut Fenêtre d'attente pour traitement dans une Class
    Bonsoir,

    J'ai une Form sous VB2008 qui permet de lancer un traitement qui peut être long.
    Ce traitement est intégré dans une Class.

    J'avais dans l'idée de faire une "petite fenêtre d'attente" avec barre de progression et aussi pour indiquer notamment le nombre d'étapes total et à faire.
    J'ai créé un panel sur la Form mais le problème c'est que je n'arrive pas à l'alimenter.
    C'est donc peut-être pas la bonne solution mais je ne sais pas faire autrement.

    Pouvez-vous m'aider ?

    Merci bien.

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    rajoute un évènement sur ta classe de traitement qui envoie l'avancement
    utilises un backgroundworker
    sur le do_work tu t'abonnes à l'évènement de ta classe et tu appelles ton traitement
    sur l'event de ta classe tu set l'avancement sur le backgroundworker, et ensuite sur l'event de progresschanged du bgdw tu set le progressbar.value
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    Bonjour,

    Premièrement, utilise une nouvelle form si tu veux faire une fenêtre avec évolution dans le temps alors que tu as un traitement en cours.

    Ensuite pour une progressbar (si tu connaîs le temps) ou si tu peux le dimensionner (via une quantité de transfert, etc ...) tu peux en effet utiliser une progressbar, qui montrera l'évolution de l'opération. Pour ceci, je te conseille de regarder de ce côté (2 topics qui parlent de progressbar, où tu trouveras en plus les liens vers des cours explicatifs) :

    http://www.developpez.net/forums/d94...copie-fichier/

    http://www.developpez.net/forums/d94...n-progressbar/


    Autrement tu peux également (toujours dans uen autre form) créé une simple PictureBox, et y mettre une image qui bouge (en format .gif) représentant par exemple un sablier, ou réutiliser des cas connus (windows en est remplit par exemple).

  4. #4
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Par défaut
    Merci pour les réponses

    La réponse de Pol63 est un peu trop compliqué pour moi

    Je préfère la solution de methylene mais j'ai un petit soucis.
    La Class qui fait le traitement a besoin d'infos qu'elle va chercher dans la Form. Si je rajoute une Form d'attente, il y aura un intermédiaire entre les infos et la Class.
    Avant : Form => Class
    Après : Form => Form d'attente => Class

    Comment la Class pourra aller chercher les infos dont elle a besoin ?
    Comment faire ? Quelle est la meilleure démarche ?

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    pourtant ce que je dis prend 10 lignes et un évènement c'est pas du haut niveau ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    Citation Envoyé par Hobbi1 Voir le message
    La réponse de Pol63 est un peu trop compliqué pour moi
    Pourtant c'est le mieux à faire, cependant c'est vrai que quand tu es novice et que tu lis les 4 lignes de Pol63, il semblerait en effet que ce dernier parle en chinois.

    Je te conseillais avant tout des interfaces graphiques (n'étant pas rentré dans le détail du backgroundworker), Pol63 te proposait directement la solution, demandes lui gentiment de te détailler sa solution, tu devrais ainsi mieux comprendre :-).

Discussions similaires

  1. [VB6] load de shapes dans une classe ? (pour faire des contours)
    Par hpfx dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 07/06/2011, 14h59
  2. Problème pour lancer une fonction dans une classe
    Par Jiyuu dans le forum Général Python
    Réponses: 13
    Dernier message: 24/08/2010, 09h05
  3. target="_blank" pour ouvrir dans une nouvelle fenêtre ou dans un nouvel onglet?
    Par Marc22 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 23/03/2010, 20h56
  4. 2 images dans une classe,non visible ie mais ok pour chrome
    Par nawak.seb dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 05/10/2009, 19h22
  5. mettre une fenêtre d'attente pour l'utilisateur
    Par kwich-bow dans le forum Interfaces Graphiques
    Réponses: 12
    Dernier message: 15/05/2009, 16h33

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