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

C# Discussion :

Barre de progression GUI/Business


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 198
    Par défaut Barre de progression GUI/Business
    Bonjour,

    Je désirerais afficher une barre de progression. Le problème est que mon traitement se fait au niveau du business et que la barre de progression se trouve dans la couche GUI, je n'ai donc pas accès à l'état d'avancement du traitement (qui est une boucle).

    Typiquement si ma boucle était dans ma classe GUI, il suffirait de faire ( ce n'est pas mon cas ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    While(...)
    {
    	Objet.DoSomething();
    	barProgression.PerformStep(); // incrémentation 
    }

    Ma question est comment faire pour pouvoir incrémenter ma barre étant donné que la boucle du traitement se trouve dans le business ?

    J'avais pensé au pattern Observateur/observé mais c'est peut-être trop lourd ou il y a peut-être mieux.

    Merci d'avance

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Par défaut
    Le couple BackgroundWorker-ProgressBar répond à ce besoin, tu as un exemple complet sur msdn : http://msdn.microsoft.com/en-us/libr...undworker.aspx

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    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 204
    Par défaut
    faire un évènement sur ta classe business qui renvoie la progression, le gui s'y abonnant
    ou si c'est sur un autre thread, le backgroundworker encapsule pas mal de choses utiles dont l'évènement
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 198
    Par défaut
    Merci pour vos réponses.

    J'ai regardé le BackgroundWorker mais le problème est que ça impose une certaine signature à la méthode du business.

    Je vais donc tenter la 2e méthode qui est de créer un évènement dans le modèle et le capturer dans la GUI. Je sais pas encore trop comment faire sans implémenter complètement moi même l'observateur/observé, donc si quelqu'un à une piste

    Merci

  5. #5
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Tu peux utiliser de l'existant du framework sinon tu peux implémenter un pattern observateur fait maison qui consiste à s'abonner etc et tu pourras personnaliser les signatures

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 198
    Par défaut
    j'ai utiliser dans ma classe modele un event.
    Et ma classe GUI s'abonne à l'event du modèle.

    C'est L'observateur/observé mais en utilisant ce que C# fournit déja et ca fonctionne au poil !

    Merci pour vos conseils

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

Discussions similaires

  1. Indy FTP (idFTP) faire une barre de progress de transfert
    Par Harry dans le forum Web & réseau
    Réponses: 4
    Dernier message: 09/07/2004, 13h15
  2. [VB.NET] Pb avec le bouton Annuler d'1 barre de progression
    Par dada1982 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 30/06/2004, 09h56
  3. Réponses: 12
    Dernier message: 27/05/2004, 00h13
  4. [DEBUTANT] Barre de progression
    Par pupupu dans le forum MFC
    Réponses: 4
    Dernier message: 18/01/2004, 16h47
  5. [web] Barre de Progression ASCII
    Par Red Bull dans le forum Web
    Réponses: 13
    Dernier message: 05/06/2003, 12h56

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