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

Soyez le premier à donner votre avis sur cette source.

Vue 14 057 fois - Téléchargée 1 363 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
51 -
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
75 -
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.