Génération d'évènement à la fin d'un thread

Soyez le premier à donner votre avis sur cette source.

Vue 14 344 fois - Téléchargée 1 427 fois

Description

Hello,

J'ai fait cette source suite à une question de clairenes (http://www.csharpfr.com/forum.v2.aspx?ID=531792).
Il s'agit en fait de montrer comment déclencher un événement à la fin d'un Thread.
Ca n'est pas compliqué, il faut juste comprendre les Threads et les events.

Le programme en lui-même présente un fenêtre où l'on peut choisir un nombre de secondes, puis cliquer sur un bouton pour démarrer le Thread. Une fois le Thread finit, un event est levé, et le Thread principal afiche une MessageBox.

Conclusion :


Dans le code, j'ai fait une boucle, car je trouvais que ça simulais mieux une longue opération plutôt que de faire Thread.Sleep(x * 1000);

Tout les commentaires sont les bienvenus.

Je l'ai mis dans la catégorie Astuces, mais si quelqu'un voit une meilleure catégorie, je suis ouvert.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
64
Merci à tout les deux, c'est vrai que je ne l'avais pas testé avec le 2.0.
J'ai mis une nouvelle version, sans le 'this'.
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
39
Ouai bien vu, sans le this y'a plus d'exception !
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
93
Dans l'exemple présent une surcharge avec le paramètre parent est utilisée, je suppose que ça peut entrainer le problème.
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
39
Si la ligne de la MessageBox est commentée y'a plus d'exception.
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
39
Ouaip ca c'est le problème du cross-threading, mais là c'est pas un contrôle c'est une MessageBox, alors pourquoi ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.