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 :

impossible de cliquer sur un bouton, pour annuler un backgroundWorker


Sujet :

C#

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 153
    Points : 138
    Points
    138
    Par défaut impossible de cliquer sur un bouton, pour annuler un backgroundWorker
    bonjour,

    j'utilise un backgroundWorker, un progressbar, pour envoyer des fichiers sur un FTP
    tout fonctionne, sauf l'annulation

    mon problème est que je ne peux pas cliquer sur un bouton, pour annuler
    quand je clique, il ne se passe rien, l'interface plante

    si je mets un point d’arrêt dans la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private void buttonCancel_Click(object sender, EventArgs e)
    rien ne se passe, pour résumer pendant l'upload, je ne peux rien faire

    merci

  2. #2
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut
    Bonjour

    Il m'arrive parfois, après des modifications dans mon code, suite à plusieurs manip, que certains évènements ne se lancent plus. Et pourtant le contrôle sur la feuille existe, et l'évènement est bien dans la partie code.
    Cependant, le designer fait parfois des siennes, et parfois ne fait plus apparaître la ligne de l'évènement
    Du coup on se retrouve avec un contrôle auquel on a un code d'évènement, mais qui n'a plus d'informations côté designer. Donc l'évènement est "fantôme".

    Ce que je fais quand je m'en rends compte :
    - je copie/coupe le bout de code dans mon évènement
    - j'efface l'évènement de mon code
    - je retourne sur ma feuille et recrée l’évènement via les propriétés du contrôle
    - l'évènement est recréé dans la partie code, je colle ce que j'ai copié/coupé

    je compile, et si le designer gueule, je regarde ce qui ne va pas et efface en faisant attention.

    Essaye ceci, et remets un point d'arrêt dans ce nouvel évènement, et si ça passe dedans, bingo tu peux continuer.

    Par contre, si l'interface plante quand tu cliques sur le bouton c'est qu'il se passe autre chose encore.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,

    Il faut positionner la propriété WorkerSupportsCancellation du BackgroundWorker à True pour qu'il prenne en compte l'annulation.
    De plus, il ne faut pas faire un dispose du BackgroundWorker juste après avoir demandé son arrêt par le CancelAsync(). Il est encore en route. Il faut lui laisser le temps de se terminer.
    Enfin, je ne vois pas de création dynamique du BackgroundWorker. Comment est-il instancié ?

  4. #4
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 153
    Points : 138
    Points
    138
    Par défaut
    Citation Envoyé par stolx_10 Voir le message
    Bonjour

    Il m'arrive parfois, après des modifications dans mon code, suite à plusieurs manip, que certains évènements ne se lancent plus. Et pourtant le contrôle sur la feuille existe, et l'évènement est bien dans la partie code.
    Cependant, le designer fait parfois des siennes, et parfois ne fait plus apparaître la ligne de l'évènement
    Du coup on se retrouve avec un contrôle auquel on a un code d'évènement, mais qui n'a plus d'informations côté designer. Donc l'évènement est "fantôme".

    Ce que je fais quand je m'en rends compte :
    - je copie/coupe le bout de code dans mon évènement
    - j'efface l'évènement de mon code
    - je retourne sur ma feuille et recrée l’évènement via les propriétés du contrôle
    - l'évènement est recréé dans la partie code, je colle ce que j'ai copié/coupé

    je compile, et si le designer gueule, je regarde ce qui ne va pas et efface en faisant attention.

    Essaye ceci, et remets un point d'arrêt dans ce nouvel évènement, et si ça passe dedans, bingo tu peux continuer.

    Par contre, si l'interface plante quand tu cliques sur le bouton c'est qu'il se passe autre chose encore.
    le problème est comme tu le décris, j'ai refait l’événement, ca fonctionne, et puis l'essai d’après non :/

  5. #5
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 153
    Points : 138
    Points
    138
    Par défaut
    j'ai trouvé

    comme je faisais mes test en reseau interne, le .exe envoyé tellement de quantité de donnée à la seconde, qu'il bloquait
    alors que sur un ftp externe, ca fonctionne

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/04/2015, 14h45
  2. Impossible de cliquer sur un bouton quand on change d'activité
    Par samateso dans le forum Composants graphiques
    Réponses: 9
    Dernier message: 26/03/2012, 14h34
  3. Cliquer sur un bouton pour avoir un texte
    Par dodo91 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/05/2009, 10h12
  4. cliquer sur un bouton pour lancer la macro
    Par tarik847 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/08/2007, 11h36
  5. cliquer sur un bouton pour tout selectionner dans une liste multiple
    Par PAYASS59 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 23/07/2007, 15h33

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