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

Soyez le premier à donner votre avis sur cette source.

Vue 14 129 fois - Téléchargée 1 379 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

SharpMao
Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
56
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'.
Lutinore
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
29
Ouai bien vu, sans le this y'a plus d'exception !
cs_coq
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
79
Dans l'exemple présent une surcharge avec le paramètre parent est utilisée, je suppose que ça peut entrainer le problème.
Lutinore
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
29
Si la ligne de la MessageBox est commentée y'a plus d'exception.
Lutinore
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
29
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.