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 :

[C#] creation d'un thread


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 25
    Par défaut [C#] creation d'un thread
    Bonjour
    Je fais une appli winform en C# et je crée une fichier excel quand j appuie sur un boutton.
    Cet action etant longue et lourde, elle me block mon appli. J'ai essayé de creer un thread mais ca ne change rien.
    On m'a parlé de backgroundworker mais je n'arrive pas a le mettre en place.
    Quelqu'un aurait il une idée?
    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 104
    Par défaut
    Bonjour,

    Je ne pense pas que l'utilisation d'un backgroundworker puisse changer quelque chose si l'utilisation d'un thread n'a rein changer.

    En effet le backgroundworker va créer un thread pour exécuter un traitement en tâche de fond. Il va donc refaire la même chose que la 1ère solution.

    Le pilotage d'Excel pour l'export de données peut parfois être très gourmand en resource, c'est peut être tout le PC qui est "bloqué" (disons fortement ralenti), ce n'est donc pas un backgroundworker qui solutionnera ce problème.

  3. #3
    Membre averti
    Inscrit en
    Février 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 25
    Par défaut
    Citation Envoyé par cboun94
    Bonjour,

    Je ne pense pas que l'utilisation d'un backgroundworker puisse changer quelque chose si l'utilisation d'un thread n'a rein changer.

    En effet le backgroundworker va créer un thread pour exécuter un traitement en tâche de fond. Il va donc refaire la même chose que la 1ère solution.

    Le pilotage d'Excel pour l'export de données peut parfois être très gourmand en resource, c'est peut être tout le PC qui est "bloqué" (disons fortement ralenti), ce n'est donc pas un backgroundworker qui solutionnera ce problème.
    Sinon je voulais mettre une fenetre progressbar pour faire patienter l utilisateur mais elle s affiche qu a moitiée a cause de du traitement d excel.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 104
    Par défaut
    Citation Envoyé par todier
    Sinon je voulais mettre une fenetre progressbar pour faire patienter l utilisateur mais elle s affiche qu a moitiée a cause de du traitement d excel.
    cad que tu lui donne plusieurs valeurs jusqu'au max, mais que graphiquement, ça ne se voit pas ?

    Si c'est ça, (on va croire que je ne sais pas répondre autre chose ... ) la méthode Application.DoEvents() peut solutionner ce problème d'affichage : cette méthode doit être appelée plusieurs fois ; et dans ton cas, je dirais après chaque changement de valeur de la progessbar

    Cette méthode ralenti un peu les traitements (à ne pas utiliser partout), mais elle évite l'effet "écran blanc" (appli plantée).

  5. #5
    Membre averti
    Inscrit en
    Février 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 25
    Par défaut
    Citation Envoyé par cboun94
    cad que tu lui donne plusieurs valeurs jusqu'au max, mais que graphiquement, ça ne se voit pas ?

    Si c'est ça, (on va croire que je ne sais pas répondre autre chose ... ) la méthode Application.DoEvents() peut solutionner ce problème d'affichage : cette méthode doit être appelée plusieurs fois ; et dans ton cas, je dirais après chaque changement de valeur de la progessbar

    Cette méthode ralenti un peu les traitements (à ne pas utiliser partout), mais elle évite l'effet "écran blanc" (appli plantée).
    J ai utilisé Application.DoEvents() mais c'est pareil l appli gele la fenetre qui contient la progressbar, la fenetre saffiche mais on ne voit pas la barre ca fait un effet transparent a la place de la progressbar et quand le traitement se finit, la je vois la barre.
    J ai bien mi mon Application.DoEvents() dans un while mais ca change rien.

  6. #6
    Membre averti
    Inscrit en
    Février 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 25
    Par défaut
    up

Discussions similaires

  1. creation d'un thread
    Par khadi8 dans le forum Débuter
    Réponses: 4
    Dernier message: 18/01/2013, 22h42
  2. Creation d'un thread
    Par snay13 dans le forum Débuter
    Réponses: 4
    Dernier message: 27/07/2010, 17h43
  3. probleme sur creation d un thread
    Par zit_zit dans le forum C#
    Réponses: 3
    Dernier message: 07/06/2008, 19h00
  4. temps de creation d'un thread
    Par Micromalice dans le forum Delphi
    Réponses: 1
    Dernier message: 14/01/2007, 21h16
  5. [MFC] Creation d'un thread pour un popup d'attente
    Par firejocker dans le forum MFC
    Réponses: 8
    Dernier message: 07/02/2006, 09h15

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